در این مطلب، ویدئو آموزش برنامه نویسی سوکت پایتون با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:49:43
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:07,040 –> 00:00:09,780
سلام به همه و خوش آمدید، بنابراین در
2
00:00:09,780 –> 00:00:11,099
این ویدیو کاری که ما می خواهیم انجام دهیم این است که
3
00:00:11,099 –> 00:00:12,929
در مورد برنامه نویسی سوکت در پایتون صحبت می کنیم و
4
00:00:12,929 –> 00:00:14,940
اکنون چه کاری انجام می دهیم و
5
00:00:14,940 –> 00:00:17,010
هدف این ویدیو در اینجا
6
00:00:17,010 –> 00:00:18,630
ایجاد یک برنامه کاربردی است که می توانیم
7
00:00:18,630 –> 00:00:21,060
چندین مشتری داشته باشیم. به یک سرور وصل شوید و
8
00:00:21,060 –> 00:00:23,670
با سرور ارتباط برقرار کنید، بنابراین
9
00:00:23,670 –> 00:00:25,140
من کار پیچیده دیوانهواری انجام نمیدهم،
10
00:00:25,140 –> 00:00:26,760
ما وارد هیچ کاری نمیشویم
11
00:00:26,760 –> 00:00:29,099
که خیلی خاص است، هدف این است که
12
00:00:29,099 –> 00:00:30,869
به شما مهارتهای اساسی و
13
00:00:30,869 –> 00:00:33,059
درک نحوه کار سوکتها
14
00:00:33,059 –> 00:00:34,950
را بدهیم تا برنامه یا پروژه ای که می
15
00:00:34,950 –> 00:00:36,510
خواهید از سوکت ها در خود استفاده کنید حداقل یک
16
00:00:36,510 –> 00:00:38,370
نقطه شروع بسیار خوب برای انجام این کار
17
00:00:38,370 –> 00:00:40,110
داشته باشید و از نحوه انجام تنظیمات اولیه غافل نشوید، به همین دلیل
18
00:00:40,110 –> 00:00:42,510
19
00:00:42,510 –> 00:00:43,559
است که بسیاری از افراد
20
00:00:43,559 –> 00:00:45,809
در اینجا گیج می شوند. سوکت ها به درستی وصل نمی
21
00:00:45,809 –> 00:00:47,250
شوند یا با همه
22
00:00:47,250 –> 00:00:48,930
این مشکلات مواجه می شوند، بنابراین من می خواهم برخی
23
00:00:48,930 –> 00:00:50,370
از مشکلات رایجی را که با آن مواجه شده ام
24
00:00:50,370 –> 00:00:52,440
، سوکت ها نیز بررسی کنم تا امیدوارم به
25
00:00:52,440 –> 00:00:54,000
نوعی این مشکلات را برای شما کاهش
26
00:00:54,000 –> 00:00:56,100
دهیم. بلافاصله
27
00:00:56,100 –> 00:00:58,320
با بحث در مورد یک نوع
28
00:00:58,320 –> 00:01:00,570
نمای کلی از شبکه شروع شد، بنابراین شبکهسازی
29
00:01:00,570 –> 00:01:02,129
برای درک زمانی که با سوکتها سر و کار داریم بسیار مهم است،
30
00:01:02,129 –> 00:01:03,600
زیرا بسیاری
31
00:01:03,600 –> 00:01:05,430
از اوقات در واقع اشتباه میشود،
32
00:01:05,430 –> 00:01:07,320
چیزی در مورد کد شما نیست، بلکه چیزی
33
00:01:07,320 –> 00:01:08,610
در درک شما از
34
00:01:08,610 –> 00:01:10,320
شبکه یا درک
35
00:01:10,320 –> 00:01:12,450
شبکه محلی شما، بنابراین برای این مجموعه آموزشی،
36
00:01:12,450 –> 00:01:14,010
ما این
37
00:01:14,010 –> 00:01:16,259
سرور و این سرویس گیرنده را فقط روی
38
00:01:16,259 –> 00:01:18,930
رایانه خودمان و شبکه محلی خودمان اجرا خواهیم
39
00:01:18,930 –> 00:01:20,880
کرد، یعنی هر کسی در شبکه محلی ما
40
00:01:20,880 –> 00:01:22,799
است، بنابراین روتر ما درست است.
41
00:01:22,799 –> 00:01:25,530
شبکه Wi-Fi شما میتواند به این سرور دسترسی داشته باشد و
42
00:01:25,530 –> 00:01:27,390
با آن ارتباط برقرار کند، اما هرکسی
43
00:01:27,390 –> 00:01:29,700
خارج از آن، کاری که من
44
00:01:29,700 –> 00:01:31,500
در پایان ویدیو انجام خواهم داد این نیست که به شما نشان دهم و
45
00:01:31,500 –> 00:01:33,000
شما را در جهت درست هدایت
46
00:01:33,000 –> 00:01:35,400
کنید تا چگونه این کار را انجام دهید. به صورت عمومی از
47
00:01:35,400 –> 00:01:36,960
طریق اینترنت، به این معنی که هر کسی
48
00:01:36,960 –> 00:01:38,880
از هر رایانه ای در جهان می
49
00:01:38,880 –> 00:01:41,070
تواند به سرور شما متصل شود، اما
50
00:01:41,070 –> 00:01:42,479
دوباره به پایان می رسد و شما باید
51
00:01:42,479 –> 00:01:44,100
تفاوت بین این دو را درک کنید.
52
00:01:44,100 –> 00:01:46,530
یک شبکه محلی و یک
53
00:01:46,530 –> 00:01:48,810
شبکه عمومی و نوع نحوه عملکرد این
54
00:01:48,810 –> 00:01:50,579
چیزهای شبکه به طوری که شما بتوانید
55
00:01:50,579 –> 00:01:52,200
بفهمید که من در اینجا چه میکنم،
56
00:01:52,200 –> 00:01:54,090
بنابراین بیایید ادامه دهیم و
57
00:01:54,090 –> 00:01:55,259
شروع کنیم، من در مورد مدل مشتری-سرور صحبت خواهم کرد.
58
00:01:55,259 –> 00:01:57,000
و سپس یک
59
00:01:57,000 –> 00:01:59,130
نمای کلی از شبکه، بنابراین سوکت ها
60
00:01:59,130 –> 00:02:01,409
روی این مدل سرویس گیرنده-سرور کار می کنند، اکنون به
61
00:02:01,409 –> 00:02:03,270
این معنی است که ما یک
62
00:02:03,270 –> 00:02:05,670
مکان مرکزی یا یک فرآیند مرکزی داریم، چیزی است که
63
00:02:05,670 –> 00:02:07,979
من آن را می نامم که اکنون سرور ما نامیده می
64
00:02:07,979 –> 00:02:08,580
شود.
65
00:02:08,580 –> 00:02:10,288
66
00:02:10,288 –> 00:02:12,270
شرکت های بزرگی مانند گوگل بدیهی است که ما می دانیم
67
00:02:12,270 –> 00:02:13,319
که آنها
68
00:02:13,319 –> 00:02:15,299
69
00:02:15,299 –> 00:02:17,640
میلیون ها یا حتی می دانید که احتمالاً ده ها میلیون سرور دارند و هدف
70
00:02:17,640 –> 00:02:19,590
ما این است که با یک سرور سروکار داشته باشیم، اما
71
00:02:19,590 –> 00:02:21,239
فقط می دانیم که بسیاری از کارهایی
72
00:02:21,239 –> 00:02:23,610
که با یک سرور انجام می دهیم، می توانیم گسترش دهیم. به
73
00:02:23,610 –> 00:02:26,099
راحتی با کمی تغییر کد به چند سرور وارد
74
00:02:26,099 –> 00:02:28,170
شوید، اما در
75
00:02:28,170 –> 00:02:29,610
مثال ما با یک سرور سروکار داریم،
76
00:02:29,610 –> 00:02:31,860
بنابراین ایده پشت
77
00:02:31,860 –> 00:02:33,510
مدل مشتری-سرور این است که شما یک
78
00:02:33,510 –> 00:02:35,519
مکان مرکزی دارید که ما
79
00:02:35,519 –> 00:02:37,049
آن را سرور می نامیم. و سپس شما همه
80
00:02:37,049 –> 00:02:39,030
این کلاینتها را دارید که به نوعی در
81
00:02:39,030 –> 00:02:40,530
همه جا پراکنده هستند، آنها
82
00:02:40,530 –> 00:02:42,510
دستگاههای مختلف هستند، رایانههای
83
00:02:42,510 –> 00:02:44,099
مختلف، شبکههای متفاوتی هستند، آنها در
84
00:02:44,099 –> 00:02:45,720
سراسر جهان هستند، درست است و اینها همان
85
00:02:45,720 –> 00:02:47,849
چیزی است که ما اکنون مشتریان خود را خوب مینامیم.
86
00:02:47,849 –> 00:02:49,200
مثالی که من معمولاً دوست دارم در
87
00:02:49,200 –> 00:02:50,879
مورد آن صحبت کنم، بازیها هستند، زیرا اینها چیزهایی هستند
88
00:02:50,879 –> 00:02:52,349
که مردم زیاد در آن بازی کردهاند،
89
00:02:52,349 –> 00:02:54,030
مثال بسیار خوبی از برنامهنویسی سوکت است،
90
00:02:54,030 –> 00:02:57,060
نه اینکه بازیها همیشه
91
00:02:57,060 –> 00:02:58,709
برنامهنویسی سوکت را پیادهسازی میکنند، اما این یک
92
00:02:58,709 –> 00:03:00,480
تصویر خوب از مدل مشتری-سرور
93
00:03:00,480 –> 00:03:03,690
زمانی است که ما در مورد بازی مشتری صحبت می کنیم و
94
00:03:03,690 –> 00:03:04,829
احتمالاً قبلاً این را در بازی شنیده اید.
95
00:03:04,829 –> 00:03:07,379
96
00:03:07,379 –> 00:03:09,480
97
00:03:09,480 –> 00:03:10,829
98
00:03:10,829 –> 00:03:12,629
99
00:03:12,629 –> 00:03:14,220
یک
100
00:03:14,220 –> 00:03:17,069
بازی آنلاین آنها سرورهای مرکزی خود را دارند و
101
00:03:17,069 –> 00:03:19,230
سپس آنها همه این کلاینت ها را دارند که
102
00:03:19,230 –> 00:03:21,209
در سراسر جهان هستند.
103
00:03:21,209 –> 00:03:23,220
104
00:03:23,220 –> 00:03:26,040
105
00:03:26,040 –> 00:03:28,709
به کامپیوتر مشتری دیگر وصل نشوید در واقع
106
00:03:28,709 –> 00:03:30,239
107
00:03:30,239 –> 00:03:32,579
اگر مستقیماً وصل شوید و بگویید
108
00:03:32,579 –> 00:03:34,829
رقیب خود را می شناسید که در
109
00:03:34,829 –> 00:03:36,299
سراسر جهان به
110
00:03:36,299 –> 00:03:38,549
رایانه او وصل شده اید می شناسید، در
111
00:03:38,549 –> 00:03:41,010
واقع یک خطر امنیتی بزرگ خواهد بود.
112
00:03:41,010 –> 00:03:42,750
کلاینت هایی که در بازی شما یا
113
00:03:42,750 –> 00:03:45,090
در منطقه شما یا هر چیز دیگری بازی می کنند و
114
00:03:45,090 –> 00:03:46,530
دلیل آن وجود چند مورد
115
00:03:46,530 –> 00:03:48,480
متفاوت است، بدیهی است که یک
116
00:03:48,480 –> 00:03:50,370
مکان مرکزی به طور کلی سریعتر
117
00:03:50,370 –> 00:03:52,049
از اتصال هر کلاینت به
118
00:03:52,049 –> 00:03:53,849
کامپیوتر مشتری دیگر خواهد بود، زیرا اگر ما دوباره
119
00:03:53,849 –> 00:03:55,769
بازی صد نفری را انجام می دهم که نمی توانم
120
00:03:55,769 –> 00:03:57,510
به تک تک این
121
00:03:57,510 –> 00:04:00,540
رایانه ها وصل شوم و هنوز همه چیز به درستی کار می
122
00:04:00,540 –> 00:04:02,760
کند، اما این مفهومی است که
123
00:04:02,760 –> 00:04:05,280
پشت این کار وجود دارد، ایده دیگری این است که بگوییم
124
00:04:05,280 –> 00:04:06,569
ما داریم یک بازی انجام می دهیم و من مستقیماً به آن وصل می شوم.
125
00:04:06,569 –> 00:04:08,970
دیگر کلاینت خوب است که
126
00:04:08,970 –> 00:04:11,220
به این معنی است که من می توانم خیلی راحت تقلب کنم زیرا
127
00:04:11,220 –> 00:04:12,810
فقط می توانم
128
00:04:12,810 –> 00:04:14,970
اطلاعات نادرست در مورد وضعیت بازی خود برای مشتری ارسال کنم که انجام آن
129
00:04:14,970 –> 00:04:17,130
بسیار آسان است و در واقع در اکثر
130
00:04:17,130 –> 00:04:19,079
بازی ها شما می توانید احتمالاً
131
00:04:19,079 –> 00:04:20,760
به راحتی حالت بازی خود را جعل می کند،
132
00:04:20,760 –> 00:04:22,680
به دلیل نحوه راه اندازی سرور کار نمی کند،
133
00:04:22,680 –> 00:04:24,780
بنابراین ما این سرور را در جای خود داریم
134
00:04:24,780 –> 00:04:26,700
تا همه
135
00:04:26,700 –> 00:04:28,320
ارتباطات بین این کلاینت های مختلف را انجام
136
00:04:28,320 –> 00:04:30,480
دهد تا سرور به هر
137
00:04:30,480 –> 00:04:33,300
فردی متصل شود. کلاینت و سپس هر کلاینت
138
00:04:33,300 –> 00:04:35,190
به سرور متصل میشود و اتفاقی که میافتد
139
00:04:35,190 –> 00:04:37,260
این است که پیامها بین
140
00:04:37,260 –> 00:04:39,240
سرور و بین مشتری ارسال میشود، بنابراین بیایید
141
00:04:39,240 –> 00:04:40,770
بگوییم من شخصیت کوچکم را اینجا
142
00:04:40,770 –> 00:04:42,570
دارم و او تصمیم میگیرد
143
00:04:42,570 –> 00:04:43,890
که به سمت چاه سمت راستی
144
00:04:43,890 –> 00:04:46,350
که به سرور ارسال میشود حرکت کند. در
145
00:04:46,350 –> 00:04:48,060
قالب نوعی فرمان یا
146
00:04:48,060 –> 00:04:50,040
نوعی پروتکل پیام که
147
00:04:50,040 –> 00:04:51,930
در عرض یک ثانیه در مورد آن صحبت خواهیم کرد تا به
148
00:04:51,930 –> 00:04:54,480
سرور بگوییم سلام، من همین الان به سمت سرور حرکت کردم
149
00:04:54,480 –> 00:04:56,010
تا مطمئن شوم که این کلاینت
150
00:04:56,010 –> 00:04:58,290
اطلاعاتش را تقلب نمی کند یا جعل نمی کند.
151
00:04:58,290 –> 00:05:00,000
کارهایی که ممکن است
152
00:05:00,000 –> 00:05:01,620
روی سرور انجام شود که می تواند
153
00:05:01,620 –> 00:05:03,390
حالت های قبلی را بررسی کند شما می توانید سرعت را بررسی کنید
154
00:05:03,390 –> 00:05:05,310
می تواند مطمئن شود که مشتری
155
00:05:05,310 –> 00:05:07,500
اطلاعات دقیقی ارسال می کند و این
156
00:05:07,500 –> 00:05:09,960
چیزی است که من اصلی را نمی دانم این ایده ایمن
157
00:05:09,960 –> 00:05:12,270
را در پشت این سیستم سرویس گیرنده-سرور حفظ کرده است، امیدوارم
158
00:05:12,270 –> 00:05:14,010
159
00:05:14,010 –> 00:05:15,990
که کمی منظورم را درک کنید، اما ایده این است
160
00:05:15,990 –> 00:05:18,600
که می دانید حرکت خود را به سرور می فرستد
161
00:05:18,600 –> 00:05:20,550
و سپس سرور
162
00:05:20,550 –> 00:05:22,500
آن اطلاعات را به همه افراد منتقل می کند.
163
00:05:22,500 –> 00:05:24,900
مشتری و میگوید هی میدانید که کلاینت یک
164
00:05:24,900 –> 00:05:27,540
به سمت راست منتقل شده است، همه باید این را بدانند
165
00:05:27,540 –> 00:05:29,310
، بنابراین میتوانید آن را در انتهای خود بهروزرسانی کنید
166
00:05:29,310 –> 00:05:31,590
و میتوانید آن را ببینید و این ایده
167
00:05:31,590 –> 00:05:33,690
پشت سیستم سرور مشتری است، بنابراین در
168
00:05:33,690 –> 00:05:34,860
مثال ما چندین مشتری داریم که به هم
169
00:05:34,860 –> 00:05:36,570
متصل میشوند. آنها
170
00:05:36,570 –> 00:05:38,220
به سرور پیام می فرستند
171
00:05:38,220 –> 00:05:40,080
و سرور همه پیام ها را لیست می
172
00:05:40,080 –> 00:05:42,210
کند تا ما ببینیم
173
00:05:42,210 –> 00:05:43,980
که این پیام ها چه زمانی وارد شده اند و چگونه
174
00:05:43,980 –> 00:05:45,840
وارد شده اند و همه چیز خوب است، بنابراین
175
00:05:45,840 –> 00:05:47,690
این ایده پشت سر آن است. مدل مشتری-سرور
176
00:05:47,690 –> 00:05:50,820
اکنون بدیهی است که در یک بازی آنلاین ما
177
00:05:50,820 –> 00:05:52,590
به سروری متصل خواهیم شد که در
178
00:05:52,590 –> 00:05:54,420
جایی در سراسر جهان است، به این معنی که
179
00:05:54,420 –> 00:05:56,100
ما به درستی از طریق اینترنت وصل خواهیم شد،
180
00:05:56,100 –> 00:05:58,470
اما در شبکه محلی ما اتفاقات کمی
181
00:05:58,470 –> 00:06:00,030
رخ می دهد. کمی متفاوت است و ما
182
00:06:00,030 –> 00:06:01,620
باید بدانیم که شبکه محلی ما چگونه
183
00:06:01,620 –> 00:06:03,150
کار می کند تا بفهمیم اینترنت
184
00:06:03,150 –> 00:06:05,520
در واقع چگونه عمل می کند، بنابراین وقتی
185
00:06:05,520 –> 00:06:07,440
در مورد شبکه محلی خود صحبت می کنیم، آنچه
186
00:06:07,440 –> 00:06:09,450
داریم چند جزء مختلف
187
00:06:09,450 –> 00:06:12,000
است، بدیهی است که حیاتی ترین مؤلفه را داریم
188
00:06:12,000 –> 00:06:13,830
، می توانم بگویم که من. من سعی خواهم
189
00:06:13,830 –> 00:06:15,750
کرد یک نسخه دیوانه از این را ترسیم کنم که
190
00:06:15,750 –> 00:06:17,940
مودم ما اکنون همان کاری است که مودم انجام می دهد و
191
00:06:17,940 –> 00:06:19,650
معمولاً مودم به طور مستقیم
192
00:06:19,650 –> 00:06:22,290
به اینترنت شما متصل می شود،
193
00:06:22,290 –> 00:06:24,660
بنابراین اگر می خواهید مودمی
194
00:06:24,660 –> 00:06:26,610
مانند مودم راجرز یا مودم را نصب کنید. مودم زنگ یا
195
00:06:26,610 –> 00:06:28,290
چیزی شبیه به آن شما معمولاً به یک تکنسین نیاز دارید
196
00:06:28,290 –> 00:06:30,210
که به خانه شما بیاید و
197
00:06:30,210 –> 00:06:33,030
یک سیم به این مودم وارد کند که آن را به اینترنت وصل می کند
198
00:06:33,030 –> 00:06:35,580
، اکنون این سیم ها
199
00:06:35,580 –> 00:06:37,860
به برخی از دکل های تلفن همراه بزرگ می روند، ممکن است
200
00:06:37,860 –> 00:06:39,540
یک بشقاب ماهواره در خانه خود داشته باشید. دقیقاً
201
00:06:39,540 –> 00:06:39,900
نمیدانم
202
00:06:39,900 –> 00:06:41,759
چگونه وارد و خارج میشوید
203
00:06:41,759 –> 00:06:43,290
یا چگونه کار میکند، ممکن است به یک
204
00:06:43,290 –> 00:06:44,820
خط فیبر نوری متصل شود، ممکن است چنین کاری انجام دهد،
205
00:06:44,820 –> 00:06:47,009
اما ایده این است که این کابل
206
00:06:47,009 –> 00:06:48,960
به مودم شما میرود و به مودم شما
207
00:06:48,960 –> 00:06:51,930
دسترسی میدهد. اینترنت، پس حالا چه کاری
208
00:06:51,930 –> 00:06:53,639
انجام میدهید، آنها به نوعی این موارد
209
00:06:53,639 –> 00:06:55,320
روتر مودم را دارند که با هم ترکیب شدهاند،
210
00:06:55,320 –> 00:06:57,169
اما معمولاً شما یک روتر خواهید داشت،
211
00:06:57,169 –> 00:07:00,449
بنابراین روتر شما ممکن است شبیه به این باشد.
212
00:07:00,449 –> 00:07:02,100
213
00:07:02,100 –> 00:07:04,400
این را روتر بنامید و
214
00:07:04,400 –> 00:07:07,410
روتر چیزی است که در واقع به
215
00:07:07,410 –> 00:07:10,710
دستگاههای خانه شما اجازه میدهد به مودم متصل شوند، بنابراین
216
00:07:10,710 –> 00:07:12,960
به مودم متصل میشود و روتر
217
00:07:12,960 –> 00:07:15,930
این امواج فرکانس رادیویی یا
218
00:07:15,930 –> 00:07:17,580
هر امواجی را که هستند ارسال میکند و شما
219
00:07:17,580 –> 00:07:19,380
میتوانید به صورت بیسیم به روتر متصل شوید.
220
00:07:19,380 –> 00:07:21,150
بدیهی است که اگر کابل اترنت دارید می توانید به صورت سیمی هم وصل شوید،
221
00:07:21,150 –> 00:07:22,919
222
00:07:22,919 –> 00:07:24,449
اما ایده پشت روتر این است که به شما امکان می دهد
223
00:07:24,449 –> 00:07:28,380
به صورت بی سیم به شبکه خود متصل شوید، بنابراین
224
00:07:28,380 –> 00:07:31,260
شاید من مانند تلفنم اینجا
225
00:07:31,260 –> 00:07:33,419
داشته باشم، شاید یک رایانه یا دستگاهی مانند
226
00:07:33,419 –> 00:07:34,770
این جعبه ها داشته باشم. فقط قرار است
227
00:07:34,770 –> 00:07:36,660
دستگاه های تصادفی باشند و ایده این است که همه
228
00:07:36,660 –> 00:07:39,360
اینها به نوعی به نوعی پروتکل به روتر متصل می شوند
229
00:07:39,360 –> 00:07:41,970
و سپس
230
00:07:41,970 –> 00:07:43,650
این روتر با مودم ارتباط برقرار
231
00:07:43,650 –> 00:07:45,479
می کند و اطلاعات را از مودم
232
00:07:45,479 –> 00:07:47,190
مودم دریافت می کند. می گوید خوب چه اطلاعاتی
233
00:07:47,190 –> 00:07:48,570
نیاز دارم از اینترنت برای آن اطلاعات می پرسد
234
00:07:48,570 –> 00:07:50,310
پس ماهواره را پینگ می کند یا
235
00:07:50,310 –> 00:07:52,889
هر اطلاعاتی که برمی گردد
236
00:07:52,889 –> 00:07:54,630
آن را به روتر
237
00:07:54,630 –> 00:07:56,849
برمی گرداند.
238
00:07:56,849 –> 00:07:58,680
239
00:07:58,680 –> 00:07:59,070
240
00:07:59,070 –> 00:08:00,539
شبکه محلی، بنابراین
241
00:08:00,539 –> 00:08:02,099
اکنون چیزی به نام آدرس IP وجود دارد،
242
00:08:02,099 –> 00:08:05,250
بنابراین بدیهی است که به مودم شما یک
243
00:08:05,250 –> 00:08:07,470
آدرس IP عمومی داده می شود، بنابراین یک
244
00:08:07,470 –> 00:08:12,300
آدرس IP عمومی ببخشید دستخط من
245
00:08:12,300 –> 00:08:15,060
این یک آدرس IP عمومی
246
00:08:15,060 –> 00:08:17,370
برای مودم شما است که نشان دهنده
247
00:08:17,370 –> 00:08:19,949
موقعیت فیزیکی شما در اینترنت است.
248
00:08:19,949 –> 00:08:21,510
موقعیت فیزیکی خود را در
249
00:08:21,510 –> 00:08:22,349
جهان درست
250
00:08:22,349 –> 00:08:24,449
کنید که آدرس IP مودم شماست،
251
00:08:24,449 –> 00:08:26,460
این مهم است و فقط
252
00:08:26,460 –> 00:08:26,970
باید بدانید که
253
00:08:26,970 –> 00:08:29,729
پس از آن در شبکه محلی خود
254
00:08:29,729 –> 00:08:32,099
چیزی دارید که آدرس IP محلی نامیده می شود
255
00:08:32,099 –> 00:08:34,229
تا به این دلیل که روتر شما باید
256
00:08:34,229 –> 00:08:35,490
بتواند بین این آدرس تمایز قائل شود.
257
00:08:35,490 –> 00:08:37,679
دستگاههای مختلف در شبکه، بنابراین میتواند بداند
258
00:08:37,679 –> 00:08:39,750
که به کدام دستگاه اطلاعات را بازگرداند
259
00:08:39,750 –> 00:08:42,059
یا اطلاعات مورد نیاز خود را جستجو کند
260
00:08:42,059 –> 00:08:44,339
برای دانستن یا داشتن یک عدد که
261
00:08:44,339 –> 00:08:46,140
نشان دهنده هر یک از آنها باشد، بنابراین ممکن
262
00:08:46,140 –> 00:08:49,160
است یک آدرس IP شبیه به این
263
00:08:49,160 –> 00:08:51,690
192.168.1 دیده باشید، شاید یک نقطه صفر بوده است، شاید
264
00:08:51,690 –> 00:08:52,810
بسته به
265
00:08:52,810 –> 00:08:55,210
کاری که انجام می دهید دو نباشد و سپس مانند 176
266
00:08:55,210 –> 00:08:57,279
درست چیزی شبیه به آن خوب به هر
267
00:08:57,279 –> 00:08:59,410
دستگاهی در شبکه محلی شما
268
00:08:59,410 –> 00:09:02,620
یکی از این آدرسهای IP داده میشود، بنابراین
269
00:09:02,620 –> 00:09:04,000
باید بفهمیم که ما این
270
00:09:04,000 –> 00:09:06,010
آدرسهای IP محلی را داریم که روشی است که
271
00:09:06,010 –> 00:09:08,560
روتر با هر دستگاه در شبکه ارتباط برقرار میکند
272
00:09:08,560 –> 00:09:10,600
و سپس ما آدرس IP عمومی را داریم
273
00:09:10,600 –> 00:09:12,520
که به مودم
274
00:09:12,520 –> 00:09:14,440
که روشی است که مودم
275
00:09:14,440 –> 00:09:16,300
با اینترنت ارتباط برقرار می کند و هر بار که
276
00:09:16,300 –> 00:09:17,380
می خواهید در
277
00:09:17,380 –> 00:09:18,940
اینترنت جستجو کنید، این فرآیند را انجام می دهید
278
00:09:18,940 –> 00:09:20,920
که روتر را پینگ می کنید و
279
00:09:20,920 –> 00:09:22,420
مودم را پینگ می کنید اینترنت اینترنت را پینگ می کنید
280
00:09:22,420 –> 00:09:23,770
و آن را به مودم می
281
00:09:23,770 –> 00:09:25,240
دهد. آن را به روتر برمی گرداند و
282
00:09:25,240 –> 00:09:27,070
آن را به شما برمی گرداند، این فرآیندی است که
283
00:09:27,070 –> 00:09:28,480
شما طی می کنید و دلیل اینکه می توانید این کار را انجام دهید
284
00:09:28,480 –> 00:09:30,070
این است که شما این آدرس IP
285
00:09:30,070 –> 00:09:31,660
را دارید تا بتوانید در t متمایز شوید.
286
00:09:31,660 –> 00:09:33,490
شبکه او به عنوان یک دستگاه منفرد در حال حاضر و
287
00:09:33,490 –> 00:09:34,690
شما نقاط دسترسی دارید کمی
288
00:09:34,690 –> 00:09:36,310
گیج کننده تر می شود، اما به هر حال این
289
00:09:36,310 –> 00:09:38,320
ایده اصلی پشت شبکه است.
290
00:09:38,320 –> 00:09:40,060
291
00:09:40,060 –> 00:09:41,470
292
00:09:41,470 –> 00:09:43,420
که این
293
00:09:43,420 –> 00:09:46,360
آدرس IP محلی که ما آن را آدرس ipv4 می نامیم
294
00:09:46,360 –> 00:09:49,120
متفاوت از آدرس IP عمومی است،
295
00:09:49,120 –> 00:09:52,990
بنابراین اگر تصمیم بگیرم سروری را که ما آن را
296
00:09:52,990 –> 00:09:55,540
خاموش می نامیم از یک آدرس IP محلی اجرا
297
00:09:55,540 –> 00:09:58,360
کنم، به این معنی است که هر کامپیوتر دیگری در
298
00:09:58,360 –> 00:10:00,700
این شبکه محلی است تا به آن متصل
299
00:10:00,700 –> 00:10:03,160
شود. روتر من میتوانیم آن را ببینیم و
300
00:10:03,160 –> 00:10:04,570
به درستی به آن دسترسی داشته باشیم، زیرا اگر
301
00:10:04,570 –> 00:10:06,339
سروری را در این دستگاه متصل و اجرا
302
00:10:06,339 –> 00:10:07,990
کنم، به روتر متصل است،
303
00:10:07,990 –> 00:10:09,310
یعنی هر دستگاه دیگری
304
00:10:09,310 –> 00:10:10,870
که به روتر متصل است میتواند به آن دسترسی داشته باشد
305
00:10:10,870 –> 00:10:13,990
اما هر چیزی که متصل نیست. به
306
00:10:13,990 –> 00:10:15,490
این روتر و در یک شبکه
307
00:10:15,490 –> 00:10:17,650
دیگر نمی تواند آن را ببیند، بنابراین درک آن مهم است،
308
00:10:17,650 –> 00:10:19,870
اما اگر تصمیم بگیرم
309
00:10:19,870 –> 00:10:22,690
سروری را روی آدرس IP عمومی خود اجرا کنم، بنابراین
310
00:10:22,690 –> 00:10:25,510
از مودم دقیقاً معنی آن چیست.
311
00:10:25,510 –> 00:10:27,730
و دنیا میتواند به
312
00:10:27,730 –> 00:10:29,290
این وصل شود، زیرا روی یک آدرس IP متفاوت اجرا میشود،
313
00:10:29,290 –> 00:10:31,060
بنابراین این ایده پشت
314
00:10:31,060 –> 00:10:33,970
شبکهسازی است و در پشت این مدل سرویس گیرنده-سرور،
315
00:10:33,970 –> 00:10:36,310
امیدوارم کاری که ما انجام میدهیم این باشد که
316
00:10:36,310 –> 00:10:38,440
شبکههایمان را اجرا کنیم یا
317
00:10:38,440 –> 00:10:40,810
سرورهایمان را روی ما اجرا کنیم. آدرس IP محلی اما
318
00:10:40,810 –> 00:10:42,100
بعداً دوباره به شما نشان خواهم داد که چگونه این کار
319
00:10:42,100 –> 00:10:44,140
را در آدرس IP عمومی انجام دهید،
320
00:10:44,140 –> 00:10:45,430
بنابراین اکنون ما آماده هستیم تا در واقع شروع به
321
00:10:45,430 –> 00:10:47,170
نوشتن کد کنیم، بنابراین
322
00:10:47,170 –> 00:10:49,330
با برنامه نویسی سرور شروع می کنیم و
323
00:10:49,330 –> 00:10:51,220
واقعاً این کار را نمی کنیم.
324
00:10:51,220 –> 00:10:52,810
تا زمانی که تعدادی از آن را بنویسیم، میتوانم تعداد زیادی از این کد را آزمایش
325
00:10:52,810 –> 00:10:54,430
کنم، بنابراین
326
00:10:54,430 –> 00:10:55,750
دقیقاً آنچه را که انجام میدهم توضیح میدهم تا مطمئن شوم متوجه شدهاید،
327
00:10:55,750 –> 00:10:57,400
اما فقط به نوعی با
328
00:10:57,400 –> 00:10:58,870
من همراهی کنید، حتی اگر تعجب نکنید اگر
329
00:10:58,870 –> 00:11:00,279
چیزی درست میشود یا خیر، زیرا
330
00:11:00,279 –> 00:11:02,380
ما واقعاً نمیتوانیم آن را آزمایش کنیم تا زمانی که
331
00:11:02,380 –> 00:11:03,889
مقدار قابل توجهی
332
00:11:03,889 –> 00:11:05,299
از کد را انجام دهیم که در واقع باید آن را بنویسیم.
333
00:11:05,299 –> 00:11:07,819
334
00:11:07,819 –> 00:11:10,220
335
00:11:10,220 –> 00:11:12,049
سری آموزش پس من یک PI جذابیت
336
00:11:12,049 –> 00:11:15,199
کد vyas شاید ما هستم مانند یک
337
00:11:15,199 –> 00:11:16,369
چیز NetBeans یا چیزی که من نمیدانم از چه
338
00:11:16,369 –> 00:11:18,379
شناسهای استفاده میکنید، زیرا
339
00:11:18,379 –> 00:11:20,959
باید چندین نمونه از پایتون را اجرا
340
00:11:20,959 –> 00:11:22,609
کنیم، یک سرور در حال اجرا و
341
00:11:22,609 –> 00:11:23,899
یک کلاینت در حال اجرا بر روی
342
00:11:23,899 –> 00:11:25,850
ما خواهیم داشت. رایانه شخصی خود را بعداً آن را روی رایانه دیگری آزمایش خواهیم کرد،
343
00:11:25,850 –> 00:11:28,189
اما برای
344
00:11:28,189 –> 00:11:30,259
اینکه در واقع می دانید
345
00:11:30,259 –> 00:11:31,669
این کار را آزمایش و کار کنید و همه کارهایی که
346
00:11:31,669 –> 00:11:33,619
قرار است آن را روی همان رایانه انجام دهیم، بنابراین
347
00:11:33,619 –> 00:11:34,819
اولین کاری که می خواهیم برای خود انجام دهیم.
348
00:11:34,819 –> 00:11:36,319
سوکت اسکریپت و توجه من باید یک
349
00:11:36,319 –> 00:11:38,029
سرور نقطه PI و کلاینت تا اسکریپت PI داشته باشم
350
00:11:38,029 –> 00:11:39,290
فرقی نمی کند که در یک
351
00:11:39,290 –> 00:11:41,509
دایرکتوری هستند یا نه،
352
00:11:41,509 –> 00:11:44,389
برای هر یک از شما که
353
00:11:44,389 –> 00:11:46,519
نمی دانید چه نوشتنی threading است، وارد کردن سوکت و threading واردات است.
354
00:11:46,519 –> 00:11:48,679
اساساً راهی برای ایجاد
355
00:11:48,679 –> 00:11:50,989
چندین رشته در یک
356
00:11:50,989 –> 00:11:53,389
برنامه پایتون است، بنابراین معمولاً اگر من کاری انجام دادم که
357
00:11:53,389 –> 00:11:56,269
شما میدانید اگر زمان را وارد میکنم،
358
00:11:56,269 –> 00:11:58,489
کاری مانند زمان انجام نمیدهم، یکی را انجام میدهم و
359
00:11:58,489 –> 00:12:01,850
سپس hello را مانند آن چاپ میکنم، پس
360
00:12:01,850 –> 00:12:03,919
باید منتظر بمانیم. برای این زمان
361
00:12:03,919 –> 00:12:05,569
نخوابید تا این را تمام کنید صبر کنید، باید
362
00:12:05,569 –> 00:12:07,369
یک ثانیه صبر کنیم تا بتوانیم hello را چاپ کنیم،
363
00:12:07,369 –> 00:12:09,739
اما اگر هر یک از این
364
00:12:09,739 –> 00:12:12,230
کدها را در یک تاپیک متفاوت اجرا
365
00:12:12,230 –> 00:12:14,480
کنم، به این معنی است که خوب یک کد در
366
00:12:14,480 –> 00:12:16,939
انتظار است یا کاری را انجام نمی دهد،
367
00:12:16,939 –> 00:12:18,709
قطعه دیگر کد یا رشته دیگر
368
00:12:18,709 –> 00:12:20,839
می تواند اجرا شود، بنابراین ما در واقع
369
00:12:20,839 –> 00:12:24,230
همه نوع موارد مربوط به مدیریت پیام را در رشته
370
00:12:24,230 –> 00:12:26,689
های جداگانه برای هر کلاینتی که
371
00:12:26,689 –> 00:12:28,730
به سرور ما متصل می شود قرار می دهیم تا
372
00:12:28,730 –> 00:12:31,129
مشتری منتظر نباشد تا کلاینت دیگری بگوید
373
00:12:31,129 –> 00:12:33,049
پیام ارسال کنید یا دریافت کنید. یک پیام یا
374
00:12:33,049 –> 00:12:35,029
چیزی شبیه به آن قبل از اینکه بتواند به
375
00:12:35,029 –> 00:12:36,679
سرور دسترسی پیدا کند و با سرور ارتباط برقرار
376
00:12:36,679 –> 00:12:38,540
کند، بنابراین زمانی که این اتفاق بیفتد بیشتر در مورد آن صحبت خواهیم کرد،
377
00:12:38,540 –> 00:12:40,040
اما به نوعی
378
00:12:40,040 –> 00:12:42,529
دنبال کنید که یک رشته به ما اجازه می دهد
379
00:12:42,529 –> 00:12:44,239
کد را جدا کنیم تا منتظر نباشد.
380
00:12:44,239 –> 00:12:46,220
کد دیگری که باید قبل از
381
00:12:46,220 –> 00:12:49,069
اجرای درست تمام شود، بنابراین
382
00:12:49,069 –> 00:12:49,939
اولین کاری که باید انجام دهم این است
383
00:12:49,939 –> 00:12:52,459
که یک پورت را تعریف کنیم، بنابراین وقتی سروری را اجرا می کنیم
384
00:12:52,459 –> 00:12:53,779
باید پورتی را انتخاب کنیم که
385
00:12:53,779 –> 00:12:56,299
اکنون آن را اجرا کنیم. توضیح دادن
386
00:12:56,299 –> 00:12:58,639
چه چیزی دشوار است درگاهی که
387
00:12:58,639 –> 00:13:01,549
معمولاً روی پورتی اجرا میشود 50/50 است
388
00:13:01,549 –> 00:13:04,039
، تعداد دقیق همه پورتها و
389
00:13:04,039 –> 00:13:05,569
عملکرد آنها را نمیدانم، اما مطمئن هستم که بالاتر از یک
390
00:13:05,569 –> 00:13:08,209
آستانه خاص، شاید بالاتر از پورت 4000،
391
00:13:08,209 –> 00:13:09,949
همه آن پورتها در آن قرار دارند. کامپیوتر شما
392
00:13:09,949 –> 00:13:12,499
غیرفعال می شود یا استفاده نمی شود، فکر می
393
00:13:12,499 –> 00:13:13,999
کنم دوباره چیزی حدود 10000 پورت وجود دارد،
394
00:13:13,999 –> 00:13:15,709
من واقعاً نمی دانم که
395
00:13:15,709 –> 00:13:16,730
396
00:13:16,730 –> 00:13:18,740
اگر بخواهید باید اطلاعات خاصی را جستجو کنید، اما یک
397
00:13:18,740 –> 00:13:21,260
شرط مطمئن معمولاً روی پورت 5050 اجرا می شود،
398
00:13:21,260 –> 00:13:22,579
این فقط به این دلیل است که ما سعی میکنیم
399
00:13:22,579 –> 00:13:24,110
پورتی را انتخاب کنیم که اساساً
400
00:13:24,110 –> 00:13:26,300
برای چیز دیگری استفاده نمیشود، یک مثال رایج
401
00:13:26,300 –> 00:13:28,639
از یک پورت چیزی است مانند پورت 8080 یا
402
00:13:28,639 –> 00:13:30,889
پورت 80، اینها بردهای HTTP هستند، به اعتقاد من، به
403
00:13:30,889 –> 00:13:32,899
این معنی است که ارتباط شما
404
00:13:32,899 –> 00:13:35,470
با وبسایتهایی مانند یا با مرورگرهای وب
405
00:13:35,470 –> 00:13:38,060
هر چیزی است. که از طریق HTTP ارتباط برقرار می کند
406
00:13:38,060 –> 00:13:39,769
که اساساً کل اینترنت
407
00:13:39,769 –> 00:13:42,019
است و اکنون مشکلی ندارد، بنابراین ما می خواهیم پورت را
408
00:13:42,019 –> 00:13:43,550
برابر با 5050 انجام دهیم و سپس می گوییم
409
00:13:43,550 –> 00:13:46,370
سرور برابر است، اکنون در اینجا چند
410
00:13:46,370 –> 00:13:48,230
گزینه مختلف داریم، بنابراین اولین گزینه این است
411
00:13:48,230 –> 00:13:50,570
که به دستور شما بروید. pr ompt و برای تایپ
412
00:13:50,570 –> 00:13:52,820
ipconfig و من بسیاری از افراد در
413
00:13:52,820 –> 00:13:54,260
ویدیوهای قبلی مانند آه شما نشانی IP خود را به من نشان می دهید
414
00:13:54,260 –> 00:13:54,709
415
00:13:54,709 –> 00:13:57,290
تایپ کردن IP config آدرس IP عمومی من را به شما نشان نمی دهد
416
00:13:57,290 –> 00:13:59,240
بنابراین نگران نباشید
417
00:13:59,240 –> 00:14:00,740
که این اطلاعات شبکه محلی را نشان می دهد
418
00:14:00,740 –> 00:14:02,690
بنابراین اگر ادامه دهید
419
00:14:02,690 –> 00:14:04,639
خط فرمان شما یا اگر در مک هستید، فکر می کنم
420
00:14:04,639 –> 00:14:06,980
ifconfig است نه IP config اگر در
421
00:14:06,980 –> 00:14:08,899
ویندوز هستید، می توانید چیزی پیدا کنید که
422
00:14:08,899 –> 00:14:11,510
آدرس ipv4 را نشان دهد، اکنون آنچه مخفف
423
00:14:11,510 –> 00:14:14,240
آن آدرس محلی ipv4 شما است، می توانید ببینید که
424
00:14:14,240 –> 00:14:15,920
من متصل هستم. به اینترنت راجرز در اینجا
425
00:14:15,920 –> 00:14:19,040
درست است و این آدرس محلی ipv4
426
00:14:19,040 –> 00:14:22,459
من است، بنابراین من این 192.168.1.2 را
427
00:14:22,459 –> 00:14:24,740
کپی می کنم و آن را در
428
00:14:24,740 –> 00:14:27,350
اینجا به عنوان سرور خود می چسبانم، دلیل آن این است
429
00:14:27,350 –> 00:14:28,910
که من می خواهم این را روی خودم اجرا کنم.
430
00:14:28,910 –> 00:14:31,370
شبکه محلی خاموش از این دستگاه، این
431
00:14:31,370 –> 00:14:33,050
دستگاهی است که سرور قرار است روی آن اجرا شود، بنابراین
432
00:14:33,050 –> 00:14:34,970
433
00:14:34,970 –> 00:14:37,069
اگر میخواهید آدرس IP دیگری را انتخاب
434
00:14:37,069 –> 00:14:38,899
کنید که نمیتواند به آن دسترسی داشته باشد، باید آدرس IP این دستگاه را انتخاب کنم
435
00:14:38,899 –> 00:14:41,800
و اکنون کار نمیکند. راه برای انجام این کار
436
00:14:41,800 –> 00:14:44,690
فقط همان خط را دوباره تایپ کنید در
437
00:14:44,690 –> 00:14:47,149
واقع تایپ کنید سرور برابر است و سپس در
438
00:14:47,149 –> 00:14:51,740
این مورد میخواهید بگویید socket dot
439
00:14:51,740 –> 00:14:54,319
دریافت پست با نام، بنابراین حدس میزنم این در
440
00:14:54,319 –> 00:14:56,839
واقع دریافت میزبان با نام است و سپس در
441
00:14:56,839 –> 00:14:59,600
اینجا میخواهید بگویید socket dot on اینجا
442
00:14:59,600 –> 00:15:02,810
نام میزبان را دریافت کنید متأسفم تصمیم گرفتم به
443
00:15:02,810 –> 00:15:03,889
صفحه دیگر من نگاه کنید تا مطمئن شوید که درست بود،
444
00:15:03,889 –> 00:15:05,510
اما کاری که این بلوک کد
445
00:15:05,510 –> 00:15:08,079
در واقع انجام می دهد این است که این آدرس IP را به
446
00:15:08,079 –> 00:15:10,459
طور خودکار برای شما دریافت می کند، بنابراین فرض کنید می
447
00:15:10,459 –> 00:15:12,529
خواهیم این سرور را روی دستگاه دیگری اجرا
448
00:15:12,529 –> 00:15:14,870
کنیم اگر فقط این آدرس IP را کدگذاری کنیم.
449
00:15:14,870 –> 00:15:15,980
450
00:15:15,980 –> 00:15:17,630
هر بار که این اسکریپت را جابه جا می کنیم باید آن را تغییر دهیم،
451
00:15:17,630 –> 00:15:19,310
بنابراین کاری که من معمولاً دوست دارم
452
00:15:19,310 –> 00:15:21,560
انجام دهم این گزینه ای است که من نوشتم بنابراین
453
00:15:21,560 –> 00:15:23,720
اساساً می گوییم سوکت دریافت میزبان
454
00:15:23,720 –> 00:15:26,420
نام من و سپس سوکت دریافت نام میزبان اگر بتوانم
455
00:15:26,420 –> 00:15:28,550
این را دریافت کنم. چیزی که به طور خودکار تکمیل می
456
00:15:28,550 –> 00:15:30,040
شود حذف می شود. معنی
457
00:15:30,040 –> 00:15:32,290
این آدرس IP این رایانه با نام است
458
00:15:32,290 –> 00:15:34,750
و سپس می گوییم خوب، بنابراین نامی
459
00:15:34,750 –> 00:15:36,220
که می خواهیم به خوبی جستجو کنیم
460
00:15:36,220 –> 00:15:38,350
چیست که نام میزبان است که فقط
461
00:15:38,350 –> 00:15:40,509
نام رایانه ما است که می توانید
462
00:15:40,509 –> 00:15:41,680
اگر می خواهید ببینید این دو خط را چاپ کنید کاری که
463
00:15:41,680 –> 00:15:43,899
آنها در واقع انجام می دهند، اگر
464
00:15:43,899 –> 00:15:46,120
من سرور را چاپ کنم و این را در اینجا اجرا کنم، این کار را انجام
465
00:15:46,120 –> 00:15:50,620
دهیم، می بینیم که 192.168.1.2 شش دریافت می کنیم
466
00:15:50,620 –> 00:15:52,990
و اگر تصمیم بگیرم فقط این
467
00:15:52,990 –> 00:15:55,540
خط را در اینجا چاپ کنم، می توانیم ببینیم که این
468
00:15:55,540 –> 00:15:58,000
در واقع چه چیزی به ما می دهد. در این مورد
469
00:15:58,000 –> 00:16:01,389
دسکتاپ r6k و okf است، بنابراین فقط
470
00:16:01,389 –> 00:16:03,190
نامی است که رایانه شما را
471
00:16:03,190 –> 00:16:04,779
در شبکه نشان می دهد، بنابراین ما می گوییم
472
00:16:04,779 –> 00:16:07,300
آدرس IP تقریباً با نام میزبان را
473
00:16:07,300 –> 00:16:09,639
دریافت کنید و سپس نام میزبان را دریافت کنید تا برای ما بلند شود
474
00:16:09,639 –> 00:16:12,040
بنابراین به هر حال سرور ما را به ما می دهد.
475
00:16:12,040 –> 00:16:13,540
بسیار خوب، اکنون که پورت
476
00:16:13,540 –> 00:16:15,339
و آدرس IP را که میخواهیم
477
00:16:15,339 –> 00:16:16,779
این سرور را روی آن اجرا کنیم، تعیین کردهایم، باید در واقع
478
00:16:16,779 –> 00:16:19,569
یک سوکت بسازیم که به ما
479
00:16:19,569 –> 00:16:22,300
امکان میدهد نوع این دستگاه را به سایر
480
00:16:22,300 –> 00:16:24,519
اتصالات باز کنیم، بنابراین اولین قدم انتخاب است.
481
00:16:24,519 –> 00:16:26,380
پورت را انتخاب کنید و سرور را انتخاب کنید و سپس
482
00:16:26,380 –> 00:16:28,630
سوکت را انتخاب کنید و سوکت را به
483
00:16:28,630 –> 00:16:30,550
آن آدرس متصل کنید، بنابراین کاری که من میخواهم انجام دهم این است که
484
00:16:30,550 –> 00:16:32,860
بگویم سرور و حروف کوچک این
485
00:16:32,860 –> 00:16:35,709
برابر است با سوکت نقطه سوکت.
486
00:16:35,709 –> 00:16:37,600
سوکت و اولین
487
00:16:37,600 –> 00:16:40,149
آرگومان در اینجا در واقع خانواده است
488
00:16:40,149 –> 00:16:42,490
سوکتی که اکنون میخواهیم خانوادهای
489
00:16:42,490 –> 00:16:44,050
مخفف دسته است که من
490
00:16:44,050 –> 00:16:45,699
دوست دارم آن را توصیف کنم و
491
00:16:45,699 –> 00:16:47,139
دستههای مختلفی وجود دارد که اکنون میتوانیم آنها را انتخاب کنیم.
492
00:16:47,139 –> 00:16:50,470
493
00:16:50,470 –> 00:16:52,180
494
00:16:52,180 –> 00:16:55,269
و سپس سوکت
495
00:16:55,269 –> 00:16:57,579
AF اولین گزینه inet است که در
496
00:16:57,579 –> 00:16:59,800
واقع همان چیزی است که ما از آن استفاده خواهیم
497
00:16:59,800 –> 00:17:02,170
498
00:17:02,170 –> 00:17:03,970
499
00:17:03,970 –> 00:17:06,099
500
00:17:06,099 –> 00:17:08,740
501
00:17:08,740 –> 00:17:10,869
کرد. من می توانم i net 6 را انتخاب کنم که به نظر من
502
00:17:10,869 –> 00:17:13,150
به جای ipv4 مخفف آدرس های ipv6 است
503
00:17:13,150 –> 00:17:15,130
و سپس چیزهایی مانند
504
00:17:15,130 –> 00:17:17,319
بسته های بلوتوث وجود دارد و آن پیوندی که می توانید
505
00:17:17,319 –> 00:17:19,089
اشیاء فایل را انجام دهید، انواع
506
00:17:19,089 –> 00:17:21,309
سوکت های مختلفی وجود دارد که می توانید ایجاد کنید، بنابراین در
507
00:17:21,309 –> 00:17:22,750
این مورد ما یک سوکت جدید هستیم.
508
00:17:22,750 –> 00:17:24,429
شبکه چشمی زیر خط فوکوس خودکار و سپس کاری که
509
00:17:24,429 –> 00:17:26,829
من در اینجا انجام میدهم این است که بگویم جریان نقطه سوکت
510
00:17:26,829 –> 00:17:29,049
یا من فکر میکنم جریان زیرخط جوراب نقطهای است
511
00:17:29,049 –> 00:17:30,880
512
00:17:30,880 –> 00:17:32,679
513
00:17:32,679 –> 00:17:34,210
. برای اینکه
514
00:17:34,210 –> 00:17:36,400
ما در حال پخش جریانی داده ها از طریق
515
00:17:36,400 –> 00:17:38,409
سوکت هستیم، روش های مختلفی برای ارسال داده ها
516
00:17:38,409 –> 00:17:40,419
از طریق سوکت وجود دارد، اما دوباره به
517
00:17:40,419 –> 00:17:42,250
پروتکل های شبکه پیشرفته تری وارد می شود که
518
00:17:42,250 –> 00:17:43,200
من واقعاً در اینجا آنها را پوشش نمی دهم،
519
00:17:43,200 –> 00:17:45,179
بنابراین این مورد را که
520
00:17:45,179 –> 00:17:47,669
انجام دادیم، اکنون سوکت خود را ایجاد کرده ایم. ما
521
00:17:47,669 –> 00:17:49,200
نوع را انتخاب کردیم بنابراین گفتیم که یک
522
00:17:49,200 –> 00:17:50,970
شبکه AFI است که به معنای از طریق اینترنت است
523
00:17:50,970 –> 00:17:52,679
و سپس روشی را انتخاب می کنیم که
524
00:17:52,679 –> 00:17:55,200
رشته جوراب است و من در واقع متاسفم که این یک
525
00:17:55,200 –> 00:17:57,179
خانواده است و این نوع است. یعنی شما
526
00:17:57,179 –> 00:17:58,440
می توانید این را به عنوان نوع
527
00:17:58,440 –> 00:18:00,120
سوکت نیز وجود دارد، اما فقط
528
00:18:00,120 –> 00:18:01,860
نوع آدرسهایی را که ما به دنبال آن
529
00:18:01,860 –> 00:18:04,289
هستیم مشخص میکند، بنابراین اکنون کاری که باید انجام دهیم این است که
530
00:18:04,289 –> 00:18:06,990
در واقع این را به یک آدرس متصل کنیم، بنابراین آنچه
531
00:18:06,990 –> 00:18:07,860
در اینجا میخواهیم انجام دهیم این است که
532
00:18:07,860 –> 00:18:10,649
بگوییم یک TDR با تمام حروف بزرگ و توجه داشته باشید که
533
00:18:10,649 –> 00:18:11,970
من تمام حروف بزرگ را انجام میدهم فقط به این دلیل که این
534
00:18:11,970 –> 00:18:14,250
مقادیر ثابت هستند، میخواهم بگویم abd
535
00:18:14,250 –> 00:18:16,230
برابر هستند و در این مورد ما در
536
00:18:16,230 –> 00:18:19,860
پورت سرور تایپ هستیم، بنابراین وقتی
537
00:18:19,860 –> 00:18:22,110
سوکت خود را به آدرس خاصی که نیاز دارد متصل میکنیم.
538
00:18:22,110 –> 00:18:23,940
تا در یک تاپل باشد، بنابراین باید
539
00:18:23,940 –> 00:18:25,950
ابتدا سرور و هفتم را داشته باشد en پورتی که
540
00:18:25,950 –> 00:18:27,929
آن سرور در آن در حال اجراست، بنابراین وقتی اکنون آن را
541
00:18:27,929 –> 00:18:30,299
متصل می کنیم، می توانیم بگوییم سرور dot bind
542
00:18:30,299 –> 00:18:33,389
مانند آن و سپس به سادگی یک TDR را در
543
00:18:33,389 –> 00:18:36,570
اینجا قرار دهیم که اکنون به این معنی است که ما این
544
00:18:36,570 –> 00:18:38,370
سوکت را به این آدرس
545
00:18:38,370 –> 00:18:40,230
متصل کرده ایم تا هر چیزی که به آن متصل شود.
546
00:18:40,230 –> 00:18:42,059
اکنون این آدرس را میدانید که این
547
00:18:42,059 –> 00:18:43,970
سوکت را بزنید که اساساً هدف
548
00:18:43,970 –> 00:18:46,679
درست است، بنابراین ما آن را داریم و اکنون کاری که میخواهیم
549
00:18:46,679 –> 00:18:48,419
انجام دهیم این است که ببینیم چگونه میتوانیم
550
00:18:48,419 –> 00:18:50,850
این سوکت را برای گوش دادن تنظیم کنیم و
551
00:18:50,850 –> 00:18:53,429
فقط چند چیز را چاپ کنیم و اجازه دهیم
552
00:18:53,429 –> 00:18:55,620
منتظر اتصالات جدید باشید، بنابراین من
553
00:18:55,620 –> 00:18:57,779
اینجا را کمی بزرگنمایی می کنم و کاری که می
554
00:18:57,779 –> 00:19:01,049
خواهم انجام دهم این است که تعریف کنم می خواهم یکی
555
00:19:01,049 –> 00:19:04,769
دیگر را بزرگنمایی کنم، می خواهم بگویم مشتری دسته تعریف شده
556
00:19:04,769 –> 00:19:07,070
به عنوان تابعی که در اینجا آدرس قرار می دهیم
557
00:19:07,070 –> 00:19:09,389
و سپس ما می خواهیم
558
00:19:09,389 –> 00:19:10,980
اتصال را مانند آن قرار دهیم یا در
559
00:19:10,980 –> 00:19:14,399
واقع اتصالات con com و سپس یک
560
00:19:14,399 –> 00:19:16,950
TDR را قرار می دهیم و سپس به سادگی پاس
561
00:19:16,950 –> 00:19:19,100
را وارد می کنیم و سپس می خواهیم بگوییم start را تعریف می کنیم،
562
00:19:19,100 –> 00:19:22,320
بنابراین start فقط برای
563
00:19:22,320 –> 00:19:23,940
شروع سوکت است. سرور برای ما ما فقط
564
00:19:23,940 –> 00:19:25,139
آن را در یک تابع ایجاد می کنیم تا همه چیز را به یک لی تبدیل کنیم ttle
565
00:19:25,139 –> 00:19:25,740
bit cleaner
566
00:19:25,740 –> 00:19:27,450
بنابراین شروع می کنیم و سپس به
567
00:19:27,450 –> 00:19:30,059
سادگی پاس را در اینجا قرار می دهیم بنابراین در انتهای
568
00:19:30,059 –> 00:19:31,919
برنامه کاری که من دوست دارم انجام دهم شروع تماس است
569
00:19:31,919 –> 00:19:33,750
و درست قبل از اینکه شروع را فراخوانی کنم چیزی که
570
00:19:33,750 –> 00:19:37,590
می خواهم انجام دهم دویدن است و بگویم شروع من
571
00:19:37,590 –> 00:19:38,970
دوست دارم فقط یک خروجی خوب در اینجا ایجاد کنم
572
00:19:38,970 –> 00:19:42,570
و بگویم سرور در حال شروع است، بنابراین وقتی
573
00:19:42,570 –> 00:19:44,190
به کنسول نگاه می کنیم می توانیم ببینیم
574
00:19:44,190 –> 00:19:45,840
که در این مورد چه اتفاقی می افتد،
575
00:19:45,840 –> 00:19:48,149
سرور به خوبی شروع به کار می کند، بنابراین در داخل شروع
576
00:19:48,149 –> 00:19:49,110
اینجا، کاری که من اکنون انجام می دهم
577
00:19:49,110 –> 00:19:50,850
اساساً است. کدی را بنویسید که
578
00:19:50,850 –> 00:19:52,710
به سرور ما این امکان را می دهد که شروع به گوش دادن
579
00:19:52,710 –> 00:19:55,049
به اتصالات کند و سپس آن
580
00:19:55,049 –> 00:19:56,340
اتصالات را مدیریت کند و آنها را
581
00:19:56,340 –> 00:19:58,470
برای کنترل کلاینت هایی که در یک تهدید جدید اجرا می شوند ارسال کند،
582
00:19:58,470 –> 00:20:00,900
بنابراین کاری که من می خواهم انجام دهم این است که می
583
00:20:00,900 –> 00:20:04,380
خواهم بگویم هیچ نقطه سرور نیست. گوش کنید
584
00:20:04,380 –> 00:20:06,240
که به این معنی است که خوب، ما اکنون در حال گوش دادن
585
00:20:06,240 –> 00:20:08,310
به اتصالات جدید هستیم، آن را تنظیم می کنیم
586
00:20:08,310 –> 00:20:10,470
و سپس می گوییم وای درست است
587
00:20:10,470 –> 00:20:12,180
زیرا این در یک حلقه بی نهایت حرکت می
588
00:20:12,180 –> 00:20:13,650
کند، اساساً
589
00:20:13,650 –> 00:20:16,140
تا زمانی که بدانید ما نمی خواهیم به گوش دادن ادامه می دهیم.
590
00:20:16,140 –> 00:20:17,640
تا زمانی که سرور از کار بیفتد، دیگر گوش کنید
591
00:20:17,640 –> 00:20:19,500
یا تا زمانی که آن را اجرا کنیم یا آن را خاموش کنیم،
592
00:20:19,500 –> 00:20:23,310
میخواهم بگویم در حالی که درست است، میگویم نقطه سرور
593
00:20:23,310 –> 00:20:25,950
اینطوری میپذیرد، اما در اینجا میگوییم که
594
00:20:25,950 –> 00:20:29,370
یک اتصال TDR برابر است با اتصال نقطهای به سرور
595
00:20:29,370 –> 00:20:30,840
و فکر میکنم درست است،
596
00:20:30,840 –> 00:20:32,630
در واقع من آن را به هم ریختهام.
597
00:20:32,630 –> 00:20:34,380
یک TDR را با ویرگول قرار دهید
598
00:20:34,380 –> 00:20:36,240
و دلیل این امر اساساً
599
00:20:36,240 –> 00:20:38,670
کاری است که این خط کد انجام می دهد این است که آن
600
00:20:38,670 –> 00:20:41,670
را مسدود می کند و به این معنی است که این
601
00:20:41,670 –> 00:20:44,220
خط منتظر می ماند همانطور که ما در
602
00:20:44,220 –> 00:20:46,470
اینجا برای اتصال جدید
603
00:20:46,470 –> 00:20:48,750
به سرور منتظر می شویم. اتصال جدید
604
00:20:48,750 –> 00:20:51,450
رخ می دهد، ما آدرس آن
605
00:20:51,450 –> 00:20:53,250
اتصال را ذخیره می کنیم تا از چه آدرس IP و چه
606
00:20:53,250 –> 00:20:56,010
پورتی آمده است و سپس
607
00:20:56,010 –> 00:20:57,990
یک شی واقعی را ذخیره می کنیم که به
608
00:20:57,990 –> 00:20:59,880
ما امکان می دهد اطلاعات را به آن
609
00:20:59,880 –> 00:21:02,010
اتصال ارسال کنیم تا این همان چیزی است که con مخفف آن است
610
00:21:02,010 –> 00:21:03,450
که می توانید ببینید. که در اینجا به من سوکت
611
00:21:03,450 –> 00:21:05,520
می دهد اتصال متغیر استفاده نشده، بنابراین این
612
00:21:05,520 –> 00:21:07,500
در واقع یک شی سوکت است که
613
00:21:07,500 –> 00:21:09,780
به ما امکان می دهد به
614
00:21:09,780 –> 00:21:11,670
اتصال یا چیزی که متصل شده است ارتباط برقرار کنیم
615
00:21:11,670 –> 00:21:13,350
و این فقط اطلاعات
616
00:21:13,350 –> 00:21:15,840
مربوط به اتصال است، بنابراین کدام پورت و
617
00:21:15,840 –> 00:21:18,090
اینکه چه آدرس IP به سرور متصل است،
618
00:21:18,090 –> 00:21:20,610
بنابراین وقتی این اتفاق بیفتد، کاری که من میخواهم انجام دهم این
619
00:21:20,610 –> 00:21:22,890
است که یک رشته جدید را شروع کنم که برابر با
620
00:21:22,890 –> 00:21:25,800
مدیریت مشتری است، بنابراین یک رشته از این
621
00:21:25,800 –> 00:21:27,990
تابع و این تابع در اینجا
622
00:21:27,990 –> 00:21:29,820
تمام ارتباطات
623
00:21:29,820 –> 00:21:32,070
بین کلاینتها را در بین آنها کنترل میکند. سرور از
624
00:21:32,070 –> 00:21:33,990
این به بعد، بنابراین این عملکرد کوچک در اینجا به
625
00:21:33,990 –> 00:21:35,700
این معنی است که به سادگی اتصالات جدید را مدیریت کند
626
00:21:35,700 –> 00:21:37,530
و به نوعی آنها را به جایی
627
00:21:37,530 –> 00:21:38,280
که باید بروند توزیع می کند،
628
00:21:38,280 –> 00:21:40,980
در حالی که اینجا
629
00:21:40,980 –> 00:21:42,930
ارتباط فردی بین مشتری و
630
00:21:42,930 –> 00:21:45,300
سرور را مدیریت می کند، بنابراین یک کلاینت و یک سرور.
631
00:21:45,300 –> 00:21:46,670
من می خواهم بگویم که
632
00:21:46,670 –> 00:21:52,620
نخ مساوی است با گسترش رشته نقطه
633
00:21:52,620 –> 00:21:54,780
این ماژول رشته در پایتون
634
00:21:54,780 –> 00:21:56,160
3 است، بنابراین اگر پایتون 2 دارید این
635
00:21:56,160 –> 00:21:58,140
احتمالا برای شما کار نخواهد کرد و می گویم
636
00:21:58,140 –> 00:22:00,210
هدف برابر است در این مورد نام
637
00:22:00,210 –> 00:22:02,310
تابع so handle clients بدون
638
00:22:02,310 –> 00:22:03,720
براکت توجه کنید من هیچ
639
00:22:03,720 –> 00:22:05,970
براکتی در آنجا ندارم، میخواهم بگویم که args
640
00:22:05,970 –> 00:22:09,630
در اینجا با یک TDR برابر است،
641
00:22:09,630 –> 00:22:11,220
بنابراین اساساً چیزی که من میگویم خوب است،
642
00:22:11,220 –> 00:22:13,470
بنابراین وقتی یک اتصال جدید رخ میدهد، ما میخواهیم از
643
00:22:13,470 –> 00:22:15,750
آن عبور کنیم. اتصال t به کلاینتهای دسته،
644
00:22:15,750 –> 00:22:17,730
کلاینتهای دسته را میدهد، بنابراین
645
00:22:17,730 –> 00:22:19,260
میگوییم target is handle client درست
646
00:22:19,260 –> 00:22:20,880
این رشته جدید، یعنی
647
00:22:20,880 –> 00:22:22,590
آرگومانها چه آرگومانهایی هستند که
648
00:22:22,590 –> 00:22:24,060
به تابع منتقل میکنیم، بنابراین در این مورد
649
00:22:24,060 –> 00:22:26,310
اتصال و آدرس و سپس به
650
00:22:26,310 –> 00:22:28,590
سادگی شروع میکنیم. این موضوع به همین شکل شروع
651
00:22:28,590 –> 00:22:31,380
می شود اکنون من اغلب دوست دارم ببینم
652
00:22:31,380 –> 00:22:33,450
چند اتصال فعال روی
653
00:22:33,450 –> 00:22:35,370
سرور داریم، بنابراین کاری که معمولاً بعد از
654
00:22:35,370 –> 00:22:37,500
شروع یک موضوع جدید انجام می دهم این است که به سادگی
655
00:22:37,500 –> 00:22:39,420
تعداد اتصالات فعال فعلی را چاپ
656
00:22:39,420 –> 00:22:41,760
کنم تا بتوانیم ببینیم که بنابراین کاری که
657
00:22:41,760 –> 00:22:42,960
من در اینجا انجام می دهم این است که می خواهم بگویم چاپ کنید
658
00:22:42,960 –> 00:22:45,900
و ما فقط یک خط جدید را
659
00:22:45,900 –> 00:22:50,840
در اینجا چاپ می کنیم و می گوییم اتصالات فعال
660
00:22:50,840 –> 00:22:53,460
مانند یک تمام بزرگ، من این را
661
00:22:53,460 –> 00:22:55,290
یک رشته F می کنم و سپس ما به سادگی می
662
00:22:55,290 –> 00:23:00,540
گوییم خواندن نقطه فعال مانند این
663
00:23:00,540 –> 00:23:03,330
تعداد فعال منهای 1 اکنون آنچه به ما می گوید این است
664
00:23:03,330 –> 00:23:05,670
که چند رشته در این فرآیند فعال هستند
665
00:23:05,670 –> 00:23:08,160
یا در این فرآیند پایتون
666
00:23:08,160 –> 00:23:10,020
تعداد رشته ها نشان دهنده
667
00:23:10,020 –> 00:23:11,670
تعداد کلاینت های متصل است زیرا
668
00:23:11,670 –> 00:23:13,350
ما یک سه جدید تبلیغ برای هر
669
00:23:13,350 –> 00:23:15,810
مشتری جدید اما از آنجایی که همیشه یک رشته
670
00:23:15,810 –> 00:23:17,820
در حال اجرا است که این
671
00:23:17,820 –> 00:23:19,590
موضوع شروع برای گوش دادن به اتصالات جدید است،
672
00:23:19,590 –> 00:23:22,020
ما یکی را کم می کنیم که به این معنی است که
673
00:23:22,020 –> 00:23:23,580
به ما می گوید
674
00:23:23,580 –> 00:23:24,900
زمانی که دو رشته
675
00:23:24,900 –> 00:23:26,460
درست در حال اجرا هستند یک اتصال فعال وجود دارد، این ایده ما است. ممکن است
676
00:23:26,460 –> 00:23:28,080
بعداً نیاز باشد این خط کد را جابهجا کنیم،
677
00:23:28,080 –> 00:23:29,640
اما فعلاً آن را اینجا میگذاریم و سپس
678
00:23:29,640 –> 00:23:32,130
شروع به رسیدگی به کلاینت handle میکنیم،
679
00:23:32,130 –> 00:23:32,670
680
00:23:32,670 –> 00:23:34,710
بنابراین از آنجایی که handle client در
681
00:23:34,710 –> 00:23:37,500
رشته خودش است، این برای هر مشتری اجرا میشود،
682
00:23:37,500 –> 00:23:38,790
فقط این تابع را به خاطر بسپاریم. به
683
00:23:38,790 –> 00:23:40,530
طور موازی و موازی اجرا می شود،
684
00:23:40,530 –> 00:23:42,420
واقعاً اما به طور همزمان برای هر
685
00:23:42,420 –> 00:23:44,520
مشتری، بنابراین اولین کاری که ما
686
00:23:44,520 –> 00:23:46,470
انجام می دهیم این است که به سادگی یک اتصال جدید چاپ
687
00:23:46,470 –> 00:23:48,120
کنیم، بنابراین می گوییم چاپ و
688
00:23:48,120 –> 00:23:51,600
سپس اتصال جدید مانند آن و سپس
689
00:23:51,600 –> 00:23:53,190
اینجا هستیم. نیم رشته دیگری را انجام می دهیم و
690
00:23:53,190 –> 00:23:54,960
می گوییم چه کسی وصل شده است، بنابراین می گوییم یک
691
00:23:54,960 –> 00:23:58,650
TD متصل است فقط به این دلیل که
692
00:23:58,650 –> 00:24:00,720
اطلاعاتی را در سرور خود دریافت کنیم، کار بعدی
693
00:24:00,720 –> 00:24:02,370
این است که یک حلقه while راه اندازی می
694
00:24:02,370 –> 00:24:04,230
کنیم و ما می گویم در حالی که واقعی
695
00:24:04,230 –> 00:24:09,660
است y می گوییم Connect برابر است با درست
696
00:24:09,660 –> 00:24:12,330
و می گوییم در حالی که متصل است،
697
00:24:12,330 –> 00:24:15,360
بنابراین در حالی که متصل هستیم، در اینجا
698
00:24:15,360 –> 00:24:18,390
منتظر دریافت اطلاعات از
699
00:24:18,390 –> 00:24:19,830
مشتری هستیم و زمانی که اطلاعاتی را
700
00:24:19,830 –> 00:24:22,080
از مشتری دریافت کردیم، کاری را
701
00:24:22,080 –> 00:24:22,590
با
702
00:24:22,590 –> 00:24:25,080
و به سادگی انجام خواهیم داد. روی صفحه چاپ می شود، بنابراین آنچه
703
00:24:25,080 –> 00:24:29,400
من می خواهم بگویم پیام برابر است و سپس
704
00:24:29,400 –> 00:24:33,270
در این مورد ما می خواهیم بگوییم con مانند
705
00:24:33,270 –> 00:24:36,419
آن نقطه CV ما بنابراین نقطه دریافت می کنیم و سپس
706
00:24:36,419 –> 00:24:38,159
در واقع باید اینجا قرار دهیم که از چند
707
00:24:38,159 –> 00:24:40,950
بایت می خواهیم دریافت کنیم. مشتری
708
00:24:40,950 –>