در این مطلب، ویدئو سرویس گیرنده سوکت چت روم – ایجاد برنامه چت با سوکت در پایتون با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:22:49
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:01,010 –> 00:00:03,120
چه خبر است همه به
2
00:00:03,120 –> 00:00:06,899
قسمت 5 از سری آموزش سوکت ها خوش آمدید در
3
00:00:06,899 –> 00:00:08,519
این ویدیو که ما می خواهیم انجام دهیم این است
4
00:00:08,519 –> 00:00:11,700
که به برنامه چت روم خود ادامه می دهیم و این
5
00:00:11,700 –> 00:00:13,889
بار می خواهیم سمت کلاینت
6
00:00:13,889 –> 00:00:15,780
چیزها را کدگذاری کنیم و سپس آن را اجرا کرده و
7
00:00:15,780 –> 00:00:18,180
رفع می کنیم همه این اشکالات خاصی که من
8
00:00:18,180 –> 00:00:21,869
ایجاد کردهام یا حداقل برخی از آنها، بنابراین
9
00:00:21,869 –> 00:00:24,150
مواردی که به نظر ما خوب است، بیایید شروع کنیم،
10
00:00:24,150 –> 00:00:26,340
بنابراین مشتری ما چه کاری انجام میدهد مشتری ما
11
00:00:26,340 –> 00:00:28,529
واقعاً مانند دو چیز درست یا
12
00:00:28,529 –> 00:00:30,269
شاید سه چیز است، بنابراین
13
00:00:30,269 –> 00:00:32,759
اتصال فوری مشتری به سرور می گوید
14
00:00:32,759 –> 00:00:35,730
که نام کاربری آنها چیست و سپس از
15
00:00:35,730 –> 00:00:37,140
آن نقطه به بعد، دقیقاً مانند این
16
00:00:37,140 –> 00:00:40,200
حلقه بی نهایت است که اگر مشتری
17
00:00:40,200 –> 00:00:42,480
پیامی برای ارسال آن پیام داشته باشد، اما
18
00:00:42,480 –> 00:00:45,300
اکنون پیام هایی را از سرور دریافت کند،
19
00:00:45,300 –> 00:00:48,300
فقط برای اینکه کار بسیار ساده باشد، ما می
20
00:00:48,300 –> 00:00:49,710
خواهیم ادامه دهیم. برای انجام همه کارها در داخل
21
00:00:49,710 –> 00:00:52,440
کنسول، بنابراین ما فقط از ورودی استفاده می کنیم
22
00:00:52,440 –> 00:00:54,329
که اجرای بقیه برنامه را مسدود می کند،
23
00:00:54,329 –> 00:00:55,920
بنابراین باید
24
00:00:55,920 –> 00:00:57,719
یک پیام خالی ارسال کنید یا پیامی بفرستید
25
00:00:57,719 –> 00:00:59,910
تا بعداً به روز رسانی ها را دریافت کنید.
26
00:00:59,910 –> 00:01:01,770
rt of UI to it
27
00:01:01,770 –> 00:01:03,510
من برنامهریزی کردهام که این کار را انجام دهم،
28
00:01:03,510 –> 00:01:05,188
اما واقعاً دیگر یک آموزش سوکت
29
00:01:05,188 –> 00:01:08,970
نیست و یک آموزش رابط کاربری گرافیکی است، بنابراین به هر حال بیایید
30
00:01:08,970 –> 00:01:11,729
شروع کنیم بنابراین سوکت را وارد کنیم زیرا
31
00:01:11,729 –> 00:01:14,820
بدیهی است که به همان دلیل قبلی انتخاب را وارد کنید
32
00:01:14,820 –> 00:01:18,479
و errno را وارد کنید تا
33
00:01:18,479 –> 00:01:20,790
همه چیز باشد. ما به
34
00:01:20,790 –> 00:01:22,619
هوا نیاز داریم میدانیم چه کار میکنیم،
35
00:01:22,619 –> 00:01:25,080
از این برای مطابقت با کدهای خطای خاص استفاده
36
00:01:25,080 –> 00:01:26,640
میکنیم، وقتی به آنجا رسیدیم در مورد آن صحبت خواهم کرد
37
00:01:26,640 –> 00:01:28,979
، اما اساساً یکی از کارهایی
38
00:01:28,979 –> 00:01:32,640
که میخواهیم انجام دهیم این است که سعی کنیم
39
00:01:32,640 –> 00:01:35,460
پیامها را دریافت کنیم تا زمانی که نمیتوانیم، اما زمانی که
40
00:01:35,460 –> 00:01:37,140
میدانیم نمیتوانیم آنها را دریافت کنیم، در واقع
41
00:01:37,140 –> 00:01:38,790
با یک خطا مواجه میشویم و میخواهیم
42
00:01:38,790 –> 00:01:40,439
مطمئن شویم که air یک خطای واقعا خاص است
43
00:01:40,439 –> 00:01:42,720
و خطای دیگری خوب نیست، بنابراین
44
00:01:42,720 –> 00:01:43,799
میخواهیم مطمئن شویم که این خطا به این دلیل است که
45
00:01:43,799 –> 00:01:45,240
وجود دارد. هیچ پیامی برای دریافت وجود ندارد و نه
46
00:01:45,240 –> 00:01:47,729
به این دلیل که کسی میداند مشکلی
47
00:01:47,729 –> 00:01:49,140
در آن پیام یا کد ما یا
48
00:01:49,140 –> 00:01:50,460
هر
49
00:01:50,460 –> 00:01:53,250
50
00:01:53,250 –> 00:01:56,189
چیز دیگری وجود دارد.
51
00:01:56,189 –> 00:01:58,770
هدر ثابت های شروع
52
00:01:58,770 –> 00:02:03,930
l ما میسازیم که 10 IP
53
00:02:03,930 –> 00:02:07,140
مانند قبل
54
00:02:07,140 –> 00:02:10,830
خواهد بود که یک پورت 27001 دوباره آن یک دو سه چهار میکند
55
00:02:10,830 –> 00:02:12,660
و سپس
56
00:02:12,660 –> 00:02:18,630
نام کاربری من وارد میشود و ما فقط
57
00:02:18,630 –> 00:02:21,450
نام کاربری را میگوییم، بنابراین فقط این را
58
00:02:21,450 –> 00:02:24,300
از کلاینت اساساً بلافاصله
59
00:02:24,300 –> 00:02:27,870
هنگامی که آنها ملحق می شوند، بنابراین اکنون ما
60
00:02:27,870 –> 00:02:30,090
سوکت را ایجاد می کنیم، بنابراین می گوییم
61
00:02:30,090 –> 00:02:32,610
سوکت زیر خط مشتری برابر با سوکت سوکت است
62
00:02:32,610 –> 00:02:36,230
و سپس سوکت نقطه آن آدرس خانواده
63
00:02:36,230 –> 00:02:37,380
اینترنت
64
00:02:37,380 –> 00:02:39,870
من فرض می کنم یا در این مورد سوکت
65
00:02:39,870 –> 00:02:47,270
نقطه تمام کلاه ها جریان زیرخط جوراب است.
66
00:02:47,270 –> 00:02:48,480
بسیار
67
00:02:48,480 –> 00:02:50,670
خوب سوکت مشتری عالی خوب حالا بیایید ادامه دهیم
68
00:02:50,670 –> 00:02:54,350
و به واردات
69
00:02:54,350 –> 00:03:01,610
IP متصل شویم تا سوکت کلاینت ها به پورت IP تاپل وصل شوند و
70
00:03:01,610 –> 00:03:04,830
سپس می گوییم
71
00:03:04,830 –> 00:03:09,900
مسدود کردن مجموعه نقطه سوکت مشتری نادرست است به
72
00:03:09,900 –> 00:03:13,140
این ترتیب عملکرد دریافت
73
00:03:13,140 –> 00:03:20,880
همه را مسدود نمی کند درست است، بنابراین گزینه blocking
74
00:03:20,880 –> 00:03:23,160
false را تنظیم کنید، کاری که میخواهیم انجام دهیم این
75
00:03:23,160 –> 00:03:26,220
است که شروع به ارسال این
76
00:03:26,220 –> 00:03:28,950
اطلاعات به سرور کنیم، بنابراین همانطور که
77
00:03:28,950 –> 00:03:30,690
قبلاً گفتم سه چیز اصلی را
78
00:03:30,690 –> 00:03:32,280
انجام میدهیم، اولین کاری که میخواهیم
79
00:03:32,280 –> 00:03:34,440
انجام دهیم ارسال آن است. نام کاربری f یا
80
00:03:34,440 –> 00:03:40,920
سرور را به یاد بیاورید جایی اینجا من
81
00:03:40,920 –> 00:03:43,739
امیدوار بودم که کاربر برابر دریافت کند این
82
00:03:43,739 –> 00:03:48,239
اولین پیام است بله اگر اطلاع دهید بله پس اگر
83
00:03:48,239 –> 00:03:49,800
این سوکت سرور است این
84
00:03:49,800 –> 00:03:51,959
کاربر کاملاً جدید است و سپس اینجاست که
85
00:03:51,959 –> 00:03:54,180
ما آن کاربر و موارد مشابه را تنظیم می
86
00:03:54,180 –> 00:03:56,570
کنیم. در این حالت، اینجا جایی است که ما هستیم،
87
00:03:56,570 –> 00:04:00,540
لطفاً آن را حرکت ندهید، در این درونی،
88
00:04:00,540 –> 00:04:02,790
اگر ما به دنبال جایی هستیم که سرور قرار است
89
00:04:02,790 –> 00:04:05,100
ابتدا با مشتری تعامل داشته
90
00:04:05,100 –> 00:04:09,510
باشد، به خوبی اینجا خواهد بود، اما
91
00:04:09,510 –> 00:04:12,300
حداقل این کد را انجام میدهیم.
92
00:04:12,300 –> 00:04:13,950
ابتدا واقعاً در اینجا تعامل کنید، به هر حال
93
00:04:13,950 –> 00:04:17,730
ادامه دهید، بنابراین آنچه می خواهیم بگوییم
94
00:04:17,730 –> 00:04:21,839
در اینجا این است که نام کاربری برابر با
95
00:04:21,839 –> 00:04:25,910
نقطه نام کاربری من در کد
96
00:04:26,010 –> 00:04:31,380
utf-8 خواهد بود سپس هدر زیر خط نام کاربری
97
00:04:31,380 –> 00:04:36,630
برابر با یک رشته F از لنز
98
00:04:36,630 –> 00:04:45,300
نام کاربری خواهد بود خوب: کمتر Stan و سپس
99
00:04:45,300 –> 00:04:47,850
طول هدر در این مورد که 10
100
00:04:47,850 –> 00:04:52,620
طول سرصفحه است، همانطور که همیشه پیچ می
101
00:04:52,620 –> 00:04:53,910
شود به اندازه کافی سخت است که یادم بماند چگونه باید
102
00:04:53,910 –> 00:04:58,620
این کار را انجام دهم و سپس رشته f را به آن اضافه کنید و
103
00:04:58,620 –> 00:05:00,450
به نظر مسخره می رسد اما به هر حال فکر می
104
00:05:00,450 –> 00:05:06,990
کنم خوب است بنابراین ما utf را رمزگذاری می کنیم -8 باشه
105
00:05:06,990 –> 00:05:09,300
این یوزرنای ماست من در هدر،
106
00:05:09,300 –> 00:05:12,540
بنابراین اکنون کاری که ما میخواهیم انجام دهیم این است که مشتری
107
00:05:12,540 –> 00:05:17,130
زیرخط سوکت نقطه ارسال نام کاربری
108
00:05:17,130 –> 00:05:21,990
هدر سرصفحه به علاوه هر
109
00:05:21,990 –> 00:05:27,510
نام کاربری که باشد واقعاً نقض حیوان خانگی نیست
110
00:05:27,510 –> 00:05:30,900
– و اگر فاصله را بگذارم این
111
00:05:30,900 –> 00:05:32,940
است که نقض حیوان خانگی خواهد بود نه من
112
00:05:32,940 –> 00:05:35,910
میتوانم هر کاری میخواهم انجام دهم، جالب است،
113
00:05:35,910 –> 00:05:37,590
در واقع پاسخی برای آن ندارم،
114
00:05:37,590 –> 00:05:39,720
فکر میکنم احتمالاً میخواهید فضاهایی در اطراف نقاط
115
00:05:39,720 –> 00:05:44,610
مثبت خود داشته باشید، به هر حال حدس من است، بنابراین پس از انجام
116
00:05:44,610 –> 00:05:46,680
آن اطلاعات را ارسال
117
00:05:46,680 –> 00:05:48,360
میکنیم که مانند تنها چیزی است که وجود دارد.
118
00:05:48,360 –> 00:05:49,920
در جریان نیستیم، مثل اینکه فقط
119
00:05:49,920 –> 00:05:51,480
یک بار به آن اطلاعات نیاز داریم،
120
00:05:51,480 –> 00:05:52,770
فقط به افراد اجازه نمیدهیم نام کاربری خود را تغییر دهند،
121
00:05:52,770 –> 00:05:55,440
بنابراین کار بعدی که
122
00:05:55,440 –> 00:05:58,110
اکنون انجام میدهیم این است که برای همیشه
123
00:05:58,110 –> 00:06:04,320
تکرار کنیم.
124
00:06:04,320 –> 00:06:08,460
برای انجام این کار هم ارسال پیام و هم
125
00:06:08,460 –> 00:06:12,090
دریافت پیام است، بنابراین اولین کاری
126
00:06:12,090 –> 00:06:14,130
که در اینجا انجام می دهم این است که بگویم هر پیامی
127
00:06:14,130 –> 00:06:16,670
که وارد می کنیم یک رشته F خواهد
128
00:06:16,670 –> 00:06:21,570
بود که همان رشته ورودی F است و
129
00:06:21,570 –> 00:06:25,650
سپس ما فقط می گوییم نام کاربری بنابراین من
130
00:06:25,650 –> 00:06:28,230
زیر خط نام کاربری بنابراین این
131
00:06:28,230 –> 00:06:33,390
فقط قبل از اینکه شخص هر چیزی
132
00:06:33,390 –> 00:06:34,620
را تایپ کند، فقط
133
00:06:34,620 –> 00:06:36,480
شبیه نام کاربری خودش می شود، سپس تایپ می کند و
134
00:06:36,480 –> 00:06:38,650
واقعا زیبا به نظر می رسد و چیزهایی
135
00:06:38,650 –> 00:06:40,210
که به آنها حس یک رابط کاربری گرافیکی را می دهد،
136
00:06:40,210 –> 00:06:42,550
حتی اگر واقعاً مشکلی نیست،
137
00:06:42,550 –> 00:06:47,320
بنابراین اکنون ممکن است کسی فقط Enter را فشار
138
00:06:47,320 –> 00:06:50,260
دهد تا فقط
139
00:06:50,260 –> 00:06:53,530
برای دریافت ورودی گذشته، بهروزرسانی آن را دریافت کند تا کسی ممکن است یا به
140
00:06:53,530 –> 00:06:54,850
طور تصادفی به ما ضربه بزند،
141
00:06:54,850 –> 00:06:56,800
بنابراین آنچه میخواهیم انجام دهیم قادر
142
00:06:56,800 –> 00:06:58,690
به رسیدگی به این موضوع باشد. یا اصلاً کسی
143
00:06:58,690 –> 00:07:01,840
چیزی را وارد نکرده است، بنابراین
144
00:07:01,840 –> 00:07:03,070
اولین چیزی که ما میپرسیم این است که آیا
145
00:07:03,070 –> 00:07:07,720
پیام است، بنابراین اگر این پیام خالی نیست، به آنجا میرویم
146
00:07:07,720 –> 00:07:07,990
147
00:07:07,990 –> 00:07:11,800
اگر پیام اگر پیام باشد، پیام برابر
148
00:07:11,800 –> 00:07:14,380
با پیغام نقطهبندی خواهد بود و
149
00:07:14,380 –> 00:07:18,070
آن را به utf-رمز میکنیم. 8 بایت و سپس کاری که میخواهیم
150
00:07:18,070 –> 00:07:21,460
انجام دهیم این است که باید سرصفحه پیام سرصفحه پیام را تنظیم کنیم
151
00:07:21,460 –> 00:07:24,910
و این برابر است
152
00:07:24,910 –> 00:07:30,690
با رشته F دوباره پیام لن اوپس
153
00:07:31,740 –> 00:07:39,180
154
00:07:39,180 –> 00:07:41,909
[موسیقی]
155
00:07:41,909 –> 00:07:45,789
و سپس اینجا:
156
00:07:45,789 –> 00:07:49,689
کمتر از. این همیشه مرا آزار میدهد که دوست داشته باشم
157
00:07:49,689 –> 00:07:52,779
پرتاب کنم. این مثل این یکی هم
158
00:07:52,779 –> 00:07:57,489
به همین منوال خواهد بود پس امیدوارم به طور کامل طول سرصفحه
159
00:07:57,489 –> 00:08:08,699
Okay نقطه در فنجانها، نقطه به utf-8 رمزگذاری میشود،
160
00:08:09,869 –> 00:08:12,099
نمیدانم اگر
161
00:08:12,099 –> 00:08:13,689
با فضاهای خالی در آنجا خلاص شویم،
162
00:08:13,689 –> 00:08:15,249
آنها را میخواهم یا نه، اما مطمئن نیستم که
163
00:08:15,249 –> 00:08:18,039
برای قالببندی رشته کار کند یا نه خوب پس
164
00:08:18,039 –> 00:08:21,969
سرصفحه پیام ما همین است و اکنون میخواهیم
165
00:08:21,969 –> 00:08:25,179
آن پیام را ارسال کنیم، بنابراین سرصفحه پیام، سوکت مشتری
166
00:08:25,179 –> 00:08:29,339
167
00:08:29,339 –> 00:08:33,729
و هر
168
00:08:33,729 –> 00:08:37,719
پیامی خوب است، بنابراین
169
00:08:37,719 –> 00:08:42,370
اگر واقعاً پیامی را ارسال کردهایم، ما پیام را ارسال میکنیم،
170
00:08:42,370 –> 00:08:44,350
اما دوباره ممکن است
171
00:08:44,350 –> 00:08:46,240
فقط در اینجا فقط ENTER را فشار دهیم. برای به روز رسانی
172
00:08:46,240 –> 00:08:48,670
چت، بدون در نظر گرفتن اینکه آیا
173
00:08:48,670 –> 00:08:50,860
پیامی وجود دارد یا نه، کار بعدی که می
174
00:08:50,860 –> 00:08:52,509
خواهیم انجام دهیم این است که سعی کنیم همه
175
00:08:52,509 –> 00:08:55,540
این پیام ها را دریافت کنیم تا این یک
176
00:08:55,540 –> 00:08:59,110
حلقه واقعی باشد که ما چیزهایی را دریافت خواهیم کرد
177
00:08:59,110 –> 00:09:02,259
و در واقع من قبل از E به جز
178
00:09:02,259 –> 00:09:04,689
بعد از C دوستان خوب، بنابراین ما سعی می کنیم
179
00:09:04,689 –> 00:09:06,879
چیزهایی را در اینجا دریافت کنیم، اما همانطور که گفتم
180
00:09:06,879 –> 00:09:08,680
اساساً این کار را انجام می دهیم تا زمانی که
181
00:09:08,680 –> 00:09:10,899
به یک خطا برخورد کنیم، بنابراین چون این منطق ما خواهد بود،
182
00:09:10,899 –> 00:09:12,069
ما در واقع
183
00:09:12,069 –> 00:09:14,980
عمداً این را محصور خواهیم کرد زیرا ما
184
00:09:14,980 –> 00:09:17,500
انتظار خطا در برخی موارد را دارید
185
00:09:17,500 –> 00:09:17,800
186
00:09:17,800 –> 00:09:22,089
مطمئناً قبول کنید و سپس فعلاً یک پاس را امتحان کنید،
187
00:09:22,089 –> 00:09:24,660
اما ما آن را در مدت کوتاهی پر می کنیم،
188
00:09:24,660 –> 00:09:27,370
اما در حالی که درست است، سعی می
189
00:09:27,370 –> 00:09:30,100
کنیم موارد را دریافت کنیم، بنابراین اول از همه
190
00:09:30,100 –> 00:09:33,100
می گوییم نام کاربری زیرخط هدر
191
00:09:33,100 –> 00:09:37,720
برابر با سوکت مشتری است. نقطه طول هدر را دریافت می کند
192
00:09:37,720 –> 00:09:44,980
و سپس اگر نه هدر نام کاربری Len
193
00:09:44,980 –> 00:09:46,269
194
00:09:46,269 –> 00:09:50,529
آمین اگر نه هدر نام کاربری Len به این معنی است که
195
00:09:50,529 –> 00:09:52,630
اساساً به هر دلیلی هیچ داده ای دریافت نکرده
196
00:09:52,630 –> 00:09:53,379
197
00:09:53,379 –> 00:09:57,569
ایم و می گوییم
198
00:09:58,109 –> 00:10:03,309
اتصال چاپ توسط سرور بسته شده است و سپس
199
00:10:03,309 –> 00:10:11,279
خروجی sis dot را اجرا می کنیم و import sis مشکلی ندارد،
200
00:10:13,589 –> 00:10:17,709
به غیر از این، میخواهیم
201
00:10:17,709 –> 00:10:22,149
آن هدر نام کاربری را به یک int تبدیل کنیم، بنابراین
202
00:10:22,149 –> 00:10:24,369
آنچه میخواهیم بگوییم
203
00:10:24,369 –> 00:10:28,959
طول خط زیر نام کاربری برابر با مقدار int
204
00:10:28,959 –> 00:10:36,249
نام کاربری سربرگ نقطه رمزگشایی utf-8 است و
205
00:10:36,249 –> 00:10:39,159
سپس دوباره مانند قبل یک نوار بیندازید،
206
00:10:39,159 –> 00:10:41,199
زیرا معمولاً باید این کار را انجام دهید،
207
00:10:41,199 –> 00:10:43,379
اما فکر نمیکنم در اینجا
208
00:10:43,379 –> 00:10:45,849
طول نام کاربری را درست انجام دهید، بنابراین ما
209
00:10:45,849 –> 00:10:48,419
طول نام کاربری را داریم که اکنون میخواهیم آن را بگیریم، با