در این مطلب، ویدئو زوم کلون در پایتون با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:24:27
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:04,240 –> 00:00:09,280
[موسیقی]
2
00:00:09,280 –> 00:00:10,719
بچه ها به چه اتفاقی می افتد خوش آمدید در
3
00:00:10,719 –> 00:00:12,240
ویدیوی امروز ما یک
4
00:00:12,240 –> 00:00:12,719
5
00:00:12,719 –> 00:00:14,799
کلون بزرگنمایی ساده را در پایتون می سازیم، پس بیایید
6
00:00:14,799 –> 00:00:16,640
وارد آن شویم، بچه ها، بنابراین می خواهیم
7
00:00:16,640 –> 00:00:19,039
یک کلون بزرگنمایی ساده بسازیم و وقتی این را می گویم
8
00:00:19,039 –> 00:00:19,359
9
00:00:19,359 –> 00:00:20,720
البته
10
00:00:20,720 –> 00:00:23,680
11
00:00:23,680 –> 00:00:25,119
ما قصد ساختن یک نرمافزار حرفهای مانند زوم یا اسکایپ نداریم، بلکه یک
12
00:00:25,119 –> 00:00:26,720
کلاینت ساده میسازیم که بتواند
13
00:00:26,720 –> 00:00:28,400
14
00:00:28,400 –> 00:00:30,960
دادههای اشتراکگذاری صفحه نمایش و دادههای دوربین
15
00:00:30,960 –> 00:00:32,558
و دادههای صوتی را استریم و دریافت کند.
16
00:00:32,558 –> 00:00:34,000
ابزار ارتباطی اولیه
17
00:00:34,000 –> 00:00:36,399
که در آن می توانید با
18
00:00:36,399 –> 00:00:38,559
استفاده از صدا و همچنین با پخش جریانی
19
00:00:38,559 –> 00:00:39,360
دوربین با مردم صحبت کنید
20
00:00:39,360 –> 00:00:40,719
و برای این کار باید
21
00:00:40,719 –> 00:00:42,399
کتابخانه ای را نصب کنیم که من نوشته ام
22
00:00:42,399 –> 00:00:44,160
که vidstream است و در چند ویدیو از آن استفاده کرده ایم.
23
00:00:44,160 –> 00:00:45,520
24
00:00:45,520 –> 00:00:48,559
چتهای صوتی و پخش جریانی دوربین
25
00:00:48,559 –> 00:00:49,200
26
00:00:49,200 –> 00:00:51,440
و اشتراکگذاری صفحه و غیره قبلاً، بنابراین
27
00:00:51,440 –> 00:00:52,879
کاری که ما باید انجام دهیم این است که باید
28
00:00:52,879 –> 00:00:54,320
یک خط فرمان cmd
29
00:00:54,320 –> 00:00:56,840
یا ترمینال را باز کنیم و میگوییم pip
30
00:00:56,840 –> 00:00:58,000
نصب
31
00:00:58,000 –> 00:01:00,480
vidstream اکنون همیشه وقتی از
32
00:01:00,480 –> 00:01:01,840
vidstream استفاده میکنید مطمئن شوید که
33
00:01:01,840 –> 00:01:03,359
آخرین نسخه را داشته باشد n چون هنوز در
34
00:01:03,359 –> 00:01:04,479
باگی آلفا است، بنابراین من در
35
00:01:04,479 –> 00:01:06,720
حال حاضر هنوز روی آن کار می کنم، به این
36
00:01:06,720 –> 00:01:08,479
معنی که اگر اشکالی وجود داشته
37
00:01:08,479 –> 00:01:10,400
باشد یا اشتباهی وجود داشته باشد یا اگر برخی
38
00:01:10,400 –> 00:01:11,200
ویژگی ها
39
00:01:11,200 –> 00:01:13,119
را اضافه کنم، فقط در آخرین
40
00:01:13,119 –> 00:01:14,640
نسخه خواهند بود، بنابراین همیشه
41
00:01:14,640 –> 00:01:17,119
نصب پیپ را با استریم منهای ارتقاء انجام دهید
42
00:01:17,119 –> 00:01:18,720
اگر قبلاً آن استریم را دارید به
43
00:01:18,720 –> 00:01:20,400
دلیل ویدیوهای قبلی که ما از آن استفاده کرده ایم،
44
00:01:20,400 –> 00:01:21,520
45
00:01:21,520 –> 00:01:22,960
بنابراین آنچه می خواهید انجام دهید این است که می خواهید
46
00:01:22,960 –> 00:01:24,720
vidstream وارد کنید یا در واقع می خواهید از
47
00:01:24,720 –> 00:01:25,520
48
00:01:25,520 –> 00:01:28,400
بیت استریم از vidstream ذخیره کنید. برای
49
00:01:28,400 –> 00:01:30,479
وارد کردن
50
00:01:30,479 –> 00:01:32,000
تقریباً همه چیز، اما نه دقیقاً
51
00:01:32,000 –> 00:01:33,600
همه چیز، زیرا ما
52
00:01:33,600 –> 00:01:33,920
از
53
00:01:33,920 –> 00:01:35,439
پخش ویدئو استفاده نمی کنیم، که این
54
00:01:35,439 –> 00:01:37,040
قابلیت دیگری است که در اینجا از آن استفاده نمی
55
00:01:37,040 –> 00:01:38,240
56
00:01:38,240 –> 00:01:40,320
کنیم و به فرستنده صوتی نیاز
57
00:01:40,320 –> 00:01:42,240
داریم، ما به گیرنده صوتی نیاز
58
00:01:42,240 –> 00:01:44,560
داریم. به کلاینت اشتراکگذاری صفحه نیاز
59
00:01:44,560 –> 00:01:45,920
داریم، ما به
60
00:01:45,920 –> 00:01:47,840
یک کلاینت دوربین نیاز داریم و به
61
00:01:47,840 –> 00:01:49,119
یک سرور استریم نیاز
62
00:01:49,119 –> 00:01:51,680
داریم که برای
63
00:01:51,680 –> 00:01:52,960
دریافت همه دادهها از آن استفاده میکنیم
64
00:01:52,960 –> 00:01:54,399
، منظورم دادههای صوتی نیست، زیرا برای
65
00:01:54,399 –> 00:01:55,920
این کار ما داریم. گیرنده صوتی اما
66
00:01:55,920 –> 00:01:58,000
67
00:01:58,000 –> 00:01:59,840
68
00:01:59,840 –> 00:02:02,079
اگر میخواهید همه چیزهایی را که میخواهید اضافه کنید، اکنون شامل دادههای اشتراکگذاری
69
00:02:02,079 –> 00:02:04,159
70
00:02:04,159 –> 00:02:05,360
71
00:02:05,360 –> 00:02:07,600
صفحهنمایش و دادههای دوربین توسط سرور استریم دریافت میشود، بنابراین اگر مشکلی
72
00:02:07,600 –> 00:02:08,878
ندارید که چه کاری میتوانید انجام دهید. این است که شما فقط می توانید
73
00:02:08,878 –> 00:02:09,440
74
00:02:09,440 –> 00:02:11,760
از طریق بیت استریم همه چیز را وارد کنید، بنابراین فقط
75
00:02:11,760 –> 00:02:12,640
یک ستاره
76
00:02:12,640 –> 00:02:15,040
و سپس اوه شما خوب هستید علاوه بر
77
00:02:15,040 –> 00:02:16,800
این، ما به چند ماژول اصلی پایتون نیاز داریم، بنابراین
78
00:02:16,800 –> 00:02:17,599
به tk enter نیاز داریم،
79
00:02:17,599 –> 00:02:20,080
بنابراین می خواهیم بگوییم import tk
80
00:02:20,080 –> 00:02:22,239
enter stk
81
00:02:22,239 –> 00:02:25,280
و امم بیایید
82
00:02:25,280 –> 00:02:29,520
sdk و سوکت وارد کنید
83
00:02:29,520 –> 00:02:32,560
آه این فقط برای دریافت
84
00:02:32,560 –> 00:02:34,239
آدرس IP خصوصی شماست اگر
85
00:02:34,239 –> 00:02:36,160
به آن نیاز ندارید یا اگر قبلاً آن را میدانید یا اگر
86
00:02:36,160 –> 00:02:38,080
میخواهید به صورت استاتیک آن را کدگذاری
87
00:02:38,080 –> 00:02:39,519
کنید، نیازی نیست سوکتها را وارد کنید.
88
00:02:39,519 –> 00:02:41,360
در عرض یک ثانیه در مورد آن صحبت
89
00:02:41,360 –> 00:02:44,080
خواهیم کرد و ما همچنین به threading نیاز خواهیم داشت،
90
00:02:44,080 –> 00:02:45,760
بنابراین به threading
91
00:02:45,760 –> 00:02:47,120
نیاز خواهیم داشت، زیرا
92
00:02:47,120 –> 00:02:49,040
ما اتصالات زیادی خواهیم داشت،
93
00:02:49,040 –> 00:02:50,000
ما یک
94
00:02:50,000 –> 00:02:51,360
جریان صوتی خواهیم داشت که ارسال می کنیم
95
00:02:51,360 –> 00:02:53,200
یک جریان صوتی که دریافت
96
00:02:53,200 –> 00:02:55,120
میکنیم، دادههای دوربین را خواهیم
97
00:02:55,120 –> 00:02:57,200
داشت d دادههای دوربینی که دریافت میکنیم و غیره،
98
00:02:57,200 –> 00:02:57,840
99
00:02:57,840 –> 00:03:00,879
بنابراین باید این کار را در
100
00:03:00,879 –> 00:03:02,159
چندین رشته انجام دهیم
101
00:03:02,159 –> 00:03:03,680
و اکنون اولین کاری که
102
00:03:03,680 –> 00:03:05,519
میخواهیم انجام دهیم این است که آدرس IP محلی
103
00:03:05,519 –> 00:03:07,280
را دریافت میکنیم اکنون میتوانید محلی خود را دریافت کنید. آدرس ip
104
00:03:07,280 –> 00:03:08,800
هر طور که می خواهید می توانید به
105
00:03:08,800 –> 00:03:10,640
عنوان مثال وارد cmd شوید
106
00:03:10,640 –> 00:03:13,120
و می توانید ipconfig را تایپ کنید و سپس می
107
00:03:13,120 –> 00:03:15,760
توانید آدرس ipv4 خود را پیدا کنید
108
00:03:15,760 –> 00:03:18,480
um بنابراین من می توانم این را نشان دهم بنابراین در اینجا
109
00:03:18,480 –> 00:03:20,640
شما فقط به آدرس ipv4 بروید این
110
00:03:20,640 –> 00:03:21,840
آدرس IP خصوصی شما
111
00:03:21,840 –> 00:03:23,200
است مهم است که شما آداپتور مناسب
112
00:03:23,200 –> 00:03:24,879
را انتخاب کنید زیرا اگر به عنوان مثال
113
00:03:24,879 –> 00:03:26,480
virtualbox
114
00:03:26,480 –> 00:03:28,239
یا vpn دارید چندین
115
00:03:28,239 –> 00:03:29,840
آدرس IP خواهید داشت اما
116
00:03:29,840 –> 00:03:32,159
در اتصال اترنت یا در
117
00:03:32,159 –> 00:03:33,920
اتصال بی سیم خود
118
00:03:33,920 –> 00:03:35,920
آدرس ipv4 خود را دارید بنابراین می توانید آن را
119
00:03:35,920 –> 00:03:37,680
از اینجا کپی کنید. آدرس
120
00:03:37,680 –> 00:03:39,519
یا فقط می توانید آن را از پایتون دریافت کنید، بنابراین
121
00:03:39,519 –> 00:03:40,720
می توانید بگویید
122
00:03:40,720 –> 00:03:44,640
آدرس IP محلی برابر است سوکت
123
00:03:44,640 –> 00:03:47,760
نقطه دریافت میزبان با نام سوکت
124
00:03:47,760 –> 00:03:49,680
نقطه دریافت نام میزبان به این صورت است که
125
00:03:49,680 –> 00:03:51,040
126
00:03:51,040 –> 00:03:52,480
اگر می خواهید آدرس IP عمومی خود را داشته باشید آدرس IP خصوصی خود را دریافت می
127
00:03:52,480 –> 00:03:53,680
کنید و ما در مورد صحبت کردن
128
00:03:53,680 –> 00:03:55,040
چرا به آدرس عمومی خود نیاز دارید و چرا
129
00:03:55,040 –> 00:03:56,720
به آدرس IP خصوصی خود در یک ثانیه نیاز دارید،
130
00:03:56,720 –> 00:03:58,239
اما اگر می خواهید آدرس IP عمومی خود را داشته باشید،
131
00:03:58,239 –> 00:04:00,480
کاری که انجام می دهید این است که اول از همه
132
00:04:00,480 –> 00:04:01,760
می توانید به
133
00:04:01,760 –> 00:04:06,560
myip.is یا هر سایت دیگری
134
00:04:06,560 –> 00:04:08,400
که این سرویس را دارد مراجعه کنید. برای نشان دادن ip عمومی خود
135
00:04:08,400 –> 00:04:10,799
و شما فقط می توانید آن را از آنجا دریافت کنید
136
00:04:10,799 –> 00:04:12,879
یا می توانید آن را به صورت برنامه نویسی در
137
00:04:12,879 –> 00:04:14,000
پایتون انجام دهید، اما برای
138
00:04:14,000 –> 00:04:16,160
این کار باید درخواست ها را وارد کنید، بنابراین درخواست ها را
139
00:04:16,160 –> 00:04:18,560
وارد کنید
140
00:04:18,560 –> 00:04:21,680
و سپس باید بگویید
141
00:04:21,680 –> 00:04:25,040
آدرس IP عمومی برابر است و سپس درخواست ها .get
142
00:04:25,040 –> 00:04:26,560
و یک api از iphy.org وجود دارد،
143
00:04:26,560 –> 00:04:29,120
بنابراین شما باید
144
00:04:29,120 –> 00:04:31,360
یک درخواست را به https
145
00:04:31,360 –> 00:04:35,199
slash api dot ip
146
00:04:35,199 –> 00:04:38,960
147
00:04:38,960 –> 00:04:42,240
148
00:04:42,240 –> 00:04:44,800
ارسال کنید.
149
00:04:44,800 –> 00:04:46,639
پاسخ در واقع ما به متن میرسیم،
150
00:04:46,639 –> 00:04:48,320
بنابراین این میشود، اما ما این
151
00:04:48,320 –> 00:04:49,680
کار را در اینجا انجام نمیدهیم، زیرا اکنون
152
00:04:49,680 –> 00:04:51,759
نمیدانید چه
153
00:04:51,759 –> 00:04:53,759
زمانی به آدرس IP محلی خود نیاز دارید
154
00:04:53,759 –> 00:04:55,360
و آدرس IP عمومی شما
155
00:04:55,360 –> 00:04:56,000
156
00:04:56,000 –> 00:04:57,520
مهم است زیرا اگر
157
00:04:57,520 –> 00:04:59,600
اگر در آن هستید در همان شبکه هستید در یک
158
00:04:59,600 –> 00:05:01,280
شبکه محلی در خانه، کاری که باید انجام دهید این
159
00:05:01,280 –> 00:05:01,680
است
160
00:05:01,680 –> 00:05:03,440
که برای مثال باید دو لپتاپ
161
00:05:03,440 –> 00:05:05,440
یا دو کامپیوتر تهیه کنید و فقط باید
162
00:05:05,440 –> 00:05:07,360
آدرس IP خصوصی آدرس IP محلی را بدانید
163
00:05:07,360 –> 00:05:08,960
زیرا تنها چیزی که نیاز دارید این است
164
00:05:08,960 –> 00:05:10,479
که باید آدرس محلی را بدانید. آدرس ip
165
00:05:10,479 –> 00:05:12,400
کامپیوتر دیگر باید
166
00:05:12,400 –> 00:05:14,080
آدرس IP محلی شما را بداند و سپس
167
00:05:14,080 –> 00:05:16,000
می توانید روی آدرس خود میزبانی کنید، می تواند
168
00:05:16,000 –> 00:05:18,160
روی آدرس خود میزبانی کند و شما به آدرس آن وصل می شوید و به
169
00:05:18,160 –> 00:05:20,479
آدرس شما متصل
170
00:05:20,479 –> 00:05:21,919
می شود، وقتی این کار را در کامپیوتر انجام می دهید به این سادگی نیست.
171
00:05:21,919 –> 00:05:23,520
اینترنت هنوز با vidstream کار می کند،
172
00:05:23,520 –> 00:05:25,199
اما شما باید آن را به گونه ای دیگر انجام دهید
173
00:05:25,199 –> 00:05:26,560
زیرا کاری که
174
00:05:26,560 –> 00:05:28,240
باید انجام دهید این است که باید میزبانی کنید، همیشه
175
00:05:28,240 –> 00:05:30,080
باید روی آدرس IP خصوصی خود میزبانی کنید،
176
00:05:30,080 –> 00:05:30,560
بنابراین
177
00:05:30,560 –> 00:05:32,479
بعداً وقتی سرور ایجاد می کنیم، به
178
00:05:32,479 –> 00:05:34,800
عنوان مثال سرور برابر است با
179
00:05:34,800 –> 00:05:36,560
uh streaming. به
180
00:05:36,560 –> 00:05:38,160
عنوان مثال، ما باید یک آدرس IP را مشخص
181
00:05:38,160 –> 00:05:39,919
کنیم، مهم است که همیشه زمانی
182
00:05:39,919 –> 00:05:41,360
که میزبان چیزی هستید،
183
00:05:41,360 –> 00:05:43,039
زمانی که میزبان
184
00:05:43,039 –> 00:05:44,880
هستید، باید آدرس IP خصوصی خود را مشخص
185
00:05:44,880 –> 00:05:47,199
کنید، اما اگر در اینترنت
186
00:05:47,199 –> 00:05:48,800
است و این فقط در شبکه محلی شما
187
00:05:48,800 –> 00:05:50,720
یا حتی در یک رایانه نیست،
188
00:05:50,720 –> 00:05:52,560
کاری که باید انجام دهید این است که شخص دیگر
189
00:05:52,560 –> 00:05:54,320
باید به آدرس IP عمومی شما متصل شود،
190
00:05:54,320 –> 00:05:55,759
حتی اگر شما در
191
00:05:55,759 –> 00:05:57,120
آدرس IP خصوصی خود میزبانی کنید، بنابراین فرض کنید
192
00:05:57,120 –> 00:05:58,240
ما در حال میزبانی هستیم.
193
00:05:58,240 –> 00:06:02,800
192 1680 207 یا 209
194
00:06:02,800 –> 00:06:05,440
من نمیدانم
195
00:06:05,440 –> 00:06:06,560
آدرس IP خصوصی
196
00:06:06,560 –> 00:06:08,319
شما چیست و شما میدانید که در اینجا یک پورت را مشخص میکنید،
197
00:06:08,319 –> 00:06:10,400
مثلاً 999،
198
00:06:10,400 –> 00:06:12,160
اگر مشتری بخواهد به
199
00:06:12,160 –> 00:06:13,600
آن آدرس IP
200
00:06:13,600 –> 00:06:15,520
وصل شود، به آن آدرس IP متصل نمیشود.
201
00:06:15,520 –> 00:06:17,600
مگر اینکه در همان شبکه شما باشد، بنابراین
202
00:06:17,600 –> 00:06:19,440
با استفاده از همان وای فای یا استفاده از همان
203
00:06:19,440 –> 00:06:20,800
اینترنت
204
00:06:20,800 –> 00:06:22,479
اگر از اینترنت می آید، اول
205
00:06:22,479 –> 00:06:23,919
از همه باید
206
00:06:23,919 –> 00:06:25,680
قوانین فایروال را تنظیم کنید تا
207
00:06:25,680 –> 00:06:27,759
اجازه دهید و آن پورت را باز کنید، اما
208
00:06:27,759 –> 00:06:28,720
علاوه بر آن
209
00:06:28,720 –> 00:06:30,639
این شخص باید یک کلاینت ایجاد کند، به
210
00:06:30,639 –> 00:06:32,560
عنوان مثال، یک کلاینت دوربین
211
00:06:32,560 –> 00:06:34,400
و سپس این
212
00:06:34,400 –> 00:06:36,160
آدرس را ارسال نمی کند، آدرس IP عمومی
213
00:06:36,160 –> 00:06:37,520
را که در سایت هایی مانند myip.is دریافت می کنید، به
214
00:06:37,520 –> 00:06:39,600
عنوان مثال، ارسال می کند
215
00:06:39,600 –> 00:06:41,440
و این چیزی است که من
216
00:06:41,440 –> 00:06:43,280
نمی دانم. 80.92 را نمی دانم
217
00:06:43,280 –> 00:06:45,360
r این آدرس IP عمومی خواهد بود،
218
00:06:45,360 –> 00:06:47,039
بنابراین شما روی آدرس IP خصوصی خود میزبانی می
219
00:06:47,039 –> 00:06:48,880
کنید و به آدرس IP عمومی متصل می شوید،
220
00:06:48,880 –> 00:06:50,319
221
00:06:50,319 –> 00:06:51,840
بنابراین این فقط یک توضیح اساسی بود
222
00:06:51,840 –> 00:06:53,440
که چگونه اتصال قرار است
223
00:06:53,440 –> 00:06:55,360
اتفاق بیفتد و اکنون ما شروع می کنیم
224
00:06:55,360 –> 00:06:57,120
کدنویسی رابط کاربری گرافیکی واقعی،
225
00:06:57,120 –> 00:06:58,160
بنابراین ما میخواهیم یک
226
00:06:58,160 –> 00:06:59,039
نظر اینجا اضافه کنیم
227
00:06:59,039 –> 00:07:01,599
رابط کاربری گرافیکی gui،
228
00:07:01,599 –> 00:07:03,280
اجازه دهید فقط به شما نشان دهم که این خط
229
00:07:03,280 –> 00:07:04,880
کار میکند، بنابراین ما میخواهیم
230
00:07:04,880 –> 00:07:07,199
آدرس IP محلی را که
231
00:07:07,199 –> 00:07:10,080
نتیجه دریافت است چاپ کنیم. میزبان با نام تابع نام میزبان را
232
00:07:10,080 –> 00:07:12,240
در اینجا دریافت کنید یا تابع را در اینجا فراخوانی کنید،
233
00:07:12,240 –> 00:07:13,599
بنابراین خواهید دید که این
234
00:07:13,599 –> 00:07:15,680
آدرس IP واقعی است، خوب، 206 بود نه
235
00:07:15,680 –> 00:07:16,400
207
236
00:07:16,400 –> 00:07:19,039
یا 209، اوه ما می توانیم آن خط را اینجا بگذاریم،
237
00:07:19,039 –> 00:07:20,639
اما رابط کاربری گرافیکی
238
00:07:20,639 –> 00:07:22,400
فقط به دکمهها و جعبههای متنی
239
00:07:22,400 –> 00:07:24,000
بدون هیچ گونه عملکردی باشند، بنابراین
240
00:07:24,000 –> 00:07:26,479
بعداً یا بعد از رابط کاربری، ما
241
00:07:26,479 –> 00:07:28,000
توابع جداگانهای را که
242
00:07:28,000 –> 00:07:29,599
قرار است اتصالات را باز کنند و غیره بنویسیم،
243
00:07:29,599 –> 00:07:30,080
244
00:07:30,080 –> 00:07:31,440
و من به شما خواهم گفت که چگونه باید
245
00:07:31,440 –> 00:07:34,240
این کار را انجام دهید، اگر شما چندین مشتری دارید
246
00:07:34,240 –> 00:07:35,599
اما برای r اکنون ما فقط می خواهیم
247
00:07:35,599 –> 00:07:37,440
رابط کاربری گرافیکی را طراحی کنیم، بنابراین فقط رابط کاربری را طراحی
248
00:07:37,440 –> 00:07:40,639
می کنیم و برای این
249
00:07:40,639 –> 00:07:41,440
کار با
250
00:07:41,440 –> 00:07:43,599
یک پنجره اصلی شروع می کنیم و می گوییم که پنجره
251
00:07:43,599 –> 00:07:46,000
برابر با tk.tk است
252
00:07:46,000 –> 00:07:49,039
مانند آن um و سپس باید
253
00:07:49,039 –> 00:07:51,360
هندسه و عنوان را تنظیم کنید حالا
254
00:07:51,360 –> 00:07:52,879
عنوان خیلی مهم نیست، ما فقط
255
00:07:52,879 –> 00:07:54,240
آن را
256
00:07:54,240 –> 00:07:57,199
عصبی عصبی نه
257
00:07:57,199 –> 00:07:58,800
مینامیم، حتی نمیخواهم آن را زوم کلون بنامیم، بگذارید فقط
258
00:07:58,800 –> 00:07:59,680
آن را
259
00:07:59,680 –> 00:08:03,759
نه فراخوان عصبی نسخه 0.1
260
00:08:03,759 –> 00:08:07,680
یا 0.01 بنامیم. آلفا مانند آن
261
00:08:07,680 –> 00:08:10,479
و سپس میخواهیم بگوییم هندسه نقطهای پنجره،
262
00:08:10,479 –> 00:08:12,000
من فکر میکنم این
263
00:08:12,000 –> 00:08:13,680
تابع است و در اینجا باید
264
00:08:13,680 –> 00:08:15,759
رشتهای را با وضوح یا با
265
00:08:15,759 –> 00:08:16,800
بعد
266
00:08:16,800 –> 00:08:20,080
uh با ابعاد ارسال
267
00:08:20,080 –> 00:08:21,759
کنیم، بهطور مثال ۳۰۰ ضربدر ۲۰۰ به عنوان مثال کوچک خواهد بود. gui
268
00:08:21,759 –> 00:08:22,400
چون
269
00:08:22,400 –> 00:08:24,400
جریان واقعی قرار نیست
270
00:08:24,400 –> 00:08:26,080
در آن رابط کاربری گرافیکی اتفاق بیفتد،
271
00:08:26,080 –> 00:08:27,280
کاری که
272
00:08:27,280 –> 00:08:28,879
میخواهیم انجام دهیم این است که یک چهره کاربر کنترلی
273
00:08:28,879 –> 00:08:30,479
با چند دکمه داشته باشیم
274
00:08:30,479 –> 00:08:32,640
و سپس جریان
275
00:08:32,640 –> 00:08:34,240
در یک صفحه نمایش داده میشود. پنجره جداگانه،
276
00:08:34,240 –> 00:08:35,760
بنابراین وقتی پنجره را داریم، کاری که می توانیم
277
00:08:35,760 –> 00:08:37,519
انجام دهیم این است که می توانیم فقط عناصر را اضافه کنید و
278
00:08:37,519 –> 00:08:39,440
این یک کار تکراری بسیار آسان است، بنابراین
279
00:08:39,440 –> 00:08:40,000
280
00:08:40,000 –> 00:08:42,479
ما میخواهیم بگوییم برچسب و هدف را میگوییم
281
00:08:42,479 –> 00:08:43,679
زیرا چیزی که میخواهیم داشته باشیم این است که
282
00:08:43,679 –> 00:08:45,680
میخواهیم یک جعبه متن اصلی داشته باشیم که در آن
283
00:08:45,680 –> 00:08:47,279
آدرس IP را وارد کنیم
284
00:08:47,279 –> 00:08:48,880
. مشتری دیگری که میخواهیم به آن
285
00:08:48,880 –> 00:08:50,959
استریم کنیم و سپس فقط میخواهیم
286
00:08:50,959 –> 00:08:52,720
چند دکمه داشته باشیم که میتواند به آن
287
00:08:52,720 –> 00:08:54,640
کلاینت پخش شود و میتواند شروع به گوش دادن به این
288
00:08:54,640 –> 00:08:55,920
کلاینت خاص
289
00:08:55,920 –> 00:08:57,839
برای اتصالات ورودی کند و برای این
290
00:08:57,839 –> 00:08:59,519
اول از همه به یک برچسب نیاز داریم تا
291
00:08:59,519 –> 00:09:01,120
بدانیم جعبه متن برای است
292
00:09:01,120 –> 00:09:04,880
و در اینجا میخواهیم بگوییم هدف ip
293
00:09:04,880 –> 00:09:09,200
label هدف ip tk.label
294
00:09:09,200 –> 00:09:11,279
خواهد بود و بخشی از
295
00:09:11,279 –> 00:09:13,760
پنجره خواهد بود و متن به
296
00:09:13,760 –> 00:09:17,519
عنوان مثال ip هدف یا آدرس ip هدف
297
00:09:17,519 –> 00:09:20,080
هر چیزی است. شما می خواهید آن را فراخوانی کنید
298
00:09:20,080 –> 00:09:22,160
و سپس ما فقط می خواهیم بگوییم که بسته
299
00:09:22,160 –> 00:09:23,360
ip dot را برچسب هدف قرار دهید،
300
00:09:23,360 –> 00:09:27,440
به هر حال راحت باشید
301
00:09:27,440 –> 00:09:28,720
رابط کاربری را طراحی کنید
302
00:09:28,720 –> 00:09:30,240
هر طور که می خواهید تمرکز اصلی
303
00:09:30,240 –> 00:09:31,680
روی عملکرد است، اما ما می خواهیم یک
304
00:09:31,680 –> 00:09:33,519
رابط کاربری گرافیکی در اینجا داشته باشیم.
305
00:09:33,519 –> 00:09:35,440
کمی بهتر به نظر می رسد که لازم نیست
306
00:09:35,440 –> 00:09:36,880
این کار را انجام دهیم همه چیز در خط فرمان
307
00:09:36,880 –> 00:09:37,440
308
00:09:37,440 –> 00:09:40,320
um پس از آن میخواهیم بگوییم
309
00:09:40,320 –> 00:09:41,920
ip text target
310
00:09:41,920 –> 00:09:44,480
tk.text خواهد بود و در اینجا
311
00:09:44,480 –> 00:09:45,760
نیز میخواهیم بگوییم که بخشی از
312
00:09:45,760 –> 00:09:46,240
پنجره است
313
00:09:46,240 –> 00:09:48,720
و آن را به پنجره اضافه میکنیم و
314
00:09:48,720 –> 00:09:50,240
نمیخواهیم بگوییم متن برابر با
315
00:09:50,240 –> 00:09:51,360
چیزی است، اما میخواهیم بگوییم که
316
00:09:51,360 –> 00:09:52,720
ارتفاع آن برابر با 1 است، زیرا
317
00:09:52,720 –> 00:09:54,720
به طور پیشفرض متن یک ناحیه کامل است، بنابراین
318
00:09:54,720 –> 00:09:55,760
319
00:09:55,760 –> 00:09:57,680
یک بلوک متن بزرگ است که میتوانیم
320
00:09:57,680 –> 00:09:59,760
متنی را وارد کنیم که در واقع میخواهیم.
321
00:09:59,760 –> 00:10:02,480
فقط یک کادر متنی با ارتفاع 1 که در آن
322
00:10:02,480 –> 00:10:05,200
میتوانیم آدرس IP را وارد
323
00:10:05,200 –> 00:10:07,200
کنیم و سپس میخواهیم بگوییم text
324
00:10:07,200 –> 00:10:10,560
target ip.pack
325
00:10:11,440 –> 00:10:13,360
، پس از آن میخواهیم
326
00:10:13,360 –> 00:10:14,640
دکمهای داشته باشیم که میگوید
327
00:10:14,640 –> 00:10:16,640
خوب شروع به گوش دادن کنید. اتصالات ورودی،
328
00:10:16,640 –> 00:10:18,079
بنابراین این فقط
329
00:10:18,079 –> 00:10:18,640
330
00:10:18,640 –> 00:10:21,279
دکمه شروع برای مشتری خواهد بود
331
00:10:21,279 –> 00:10:23,120
که نشان می دهد
332
00:10:23,120 –> 00:10:24,720
قبل از کلیک کردن روی آن دکمه، برای اتصال ورودی آماده
333
00:10:24,720 –> 00:10:27,360
است، مشتری ما نمی تواند
334
00:10:27,360 –> 00:10:29,360
داده های ورودی را پردازش کند، بنابراین حتی اگر مشتری دیگری
335
00:10:29,360 –> 00:10:30,320
336
00:10:30,320 –> 00:10:32,240
به سمت مشتری ما جریان پیدا کند، قرار نیست
337
00:10:32,240 –> 00:10:34,320
گوش کند، بنابراین قرار نیست o
338
00:10:34,320 –> 00:10:36,160
هر جریانی را دریافت کنید یا هیچ جریانی را
339
00:10:36,160 –> 00:10:37,680
نمایش نمیدهد
340
00:10:37,680 –> 00:10:39,120
و بعد از آن کاری که میخواهیم انجام دهیم این است
341
00:10:39,120 –> 00:10:41,279
که میخواهیم سه دکمه دیگر داشته باشیم که
342
00:10:41,279 –> 00:10:42,720
میگویند پخش جریانی دوربین
343
00:10:42,720 –> 00:10:46,079
شروع به اشتراکگذاری صفحه نمایش پخش میشود و
344
00:10:46,079 –> 00:10:48,399
پخش صدا را شروع میکند تا این کار ادامه دارد.
345
00:10:48,399 –> 00:10:49,600
برای اینکه
346
00:10:49,600 –> 00:10:51,040
برای همه این دکمه ها بسیار شبیه باشند،
347
00:10:51,040 –> 00:10:52,640
ما فقط چهار دکمه داریم که اولین
348
00:10:52,640 –> 00:10:53,360
349
00:10:53,360 –> 00:10:55,920
دکمه گوش دادن است یا در واقع بیایید
350
00:10:55,920 –> 00:10:57,519
آنها را btn
351
00:10:57,519 –> 00:11:00,959
listen صدا کنیم، دکمه tk خواهد بود
352
00:11:00,959 –> 00:11:02,320
و این دکمه بخشی
353
00:11:02,320 –> 00:11:05,040
از پنجره خواهد بود. قرار است متن
354
00:11:05,040 –> 00:11:08,320
شروع به گوش
355
00:11:08,560 –> 00:11:12,800
دادن کند و عرض آن 50 باشد
356
00:11:12,800 –> 00:11:14,240
و
357
00:11:14,240 –> 00:11:15,839
بعداً زمانی که توابع را داشتیم دستور را اضافه می کنیم و سپس
358
00:11:15,839 –> 00:11:16,800
فقط می گوییم
359
00:11:16,800 –> 00:11:21,440
btn listen.pack
360
00:11:21,440 –> 00:11:24,320
و ما میخواهیم آن را بهگونهای لنگر بیندازیم که
361
00:11:24,320 –> 00:11:26,560
در مرکز قرار گیرد، بنابراین لنگر
362
00:11:26,560 –> 00:11:29,839
برابر با مرکز tk
363
00:11:29,839 –> 00:11:33,120
و Expand برابر با true است،
364
00:11:33,120 –> 00:11:35,360
اکنون میتوانیم آن را
365
00:11:35,360 –> 00:11:37,519
کپی کنیم و میتوانیم ادامه دهیم و فقط
366
00:11:37,519 –> 00:11:38