1 00:00:00,000 --> 00:00:09,647 2 00:00:09,647 --> 00:00:11,730 Дакладчык: Зараз давайце пяройдзем у код размеркавання 3 00:00:11,730 --> 00:00:14,470 і зірнуць на кантэкст у якім напісаны вамі код 4 00:00:14,470 --> 00:00:15,780 будзе, будзе функцыянаваць. 5 00:00:15,780 --> 00:00:17,350 У рэшце рэшт, Вы збіраецеся ажыццявіць 6 00:00:17,350 --> 00:00:18,710 Сукупнасць вэб-сервера. 7 00:00:18,710 --> 00:00:20,460 Але мы падалі Вы са шкілетам 8 00:00:20,460 --> 00:00:24,090 код, які ёсць некаторыя функцыянальныя магчымасці, асабліва звязаных з сеткамі. 9 00:00:24,090 --> 00:00:25,390 Давайце зірнем. 10 00:00:25,390 --> 00:00:27,560 >> Так тут да вяршыні файла з'яўляецца звязка 11 00:00:27,560 --> 00:00:30,020 з функцыі праверкі макрасаў патрабаванням. 12 00:00:30,020 --> 00:00:33,570 Зараз гэта проста асаблівасць С, у выніку чаго у адпаведнасці з кучай штучных старонак 13 00:00:33,570 --> 00:00:36,410 Вы павінны вызначыць некаторыя Гэтыя канстанты, каб быць праўдай 14 00:00:36,410 --> 00:00:39,920 або быць нават канкрэтныя лічбы так, што ў вас ёсць доступ да пэўных функцый. 15 00:00:39,920 --> 00:00:42,470 У адваротным выпадку яны будуць Неабвешчаная і вы не будзеце мець доступ. 16 00:00:42,470 --> 00:00:45,340 Так што я зрабіў гэта шляхам чытаць даведачныя старонкі. 17 00:00:45,340 --> 00:00:48,410 Цяпер ўнізе, у лініі 15 праз 17, мы 18 00:00:48,410 --> 00:00:50,550 ёсць цэлая куча абмежаванняў, заяўленых. 19 00:00:50,550 --> 00:00:53,370 >> І мы запазычылі іх з папулярны вэб-сервер, званы Apache. 20 00:00:53,370 --> 00:00:54,650 І гэта толькі Нумары, якія збіраюцца 21 00:00:54,650 --> 00:00:56,810 абмежаваць агульная колькасць байтаў, якія дазволены 22 00:00:56,810 --> 00:01:01,930 у розных кантэкстах для запыту HTTP што браўзэр можа пасылаць мяне. 23 00:01:01,930 --> 00:01:04,310 Далей, мы вызначаем актэта. 24 00:01:04,310 --> 00:01:07,790 Цяпер актэт проста мудрагелісты спосаб сказаць байт, ці васьмі бітаў. 25 00:01:07,790 --> 00:01:10,720 Аказваецца, у мінулых байт не абавязкова было восем біт, 26 00:01:10,720 --> 00:01:12,339 так актэт заўсёды восем біт. 27 00:01:12,339 --> 00:01:14,880 Такім чынам, у гэтым выпадку мы прынялі што агульнага ў сетцы 28 00:01:14,880 --> 00:01:17,410 Свет называючы восем байт актэта. 29 00:01:17,410 --> 00:01:21,840 >> Тут я удакладніў, што актэта будзе быць 512, так што гэтак жа, як у судова-медыцынскай экспертызы 30 00:01:21,840 --> 00:01:24,170 калі мы чытаем кучу байт у той час, і тут, 31 00:01:24,170 --> 00:01:27,390 мы будзем чытаць куча актэтаў ў той час. 32 00:01:27,390 --> 00:01:28,922 Наступная цэлай кучай файлаў загалоўкаў. 33 00:01:28,922 --> 00:01:30,255 Як я ведаю, ўключыць іх? 34 00:01:30,255 --> 00:01:32,730 Ну, я проста чытаць чалавека старонак для шэрагу функцый 35 00:01:32,730 --> 00:01:35,620 што мы будзем выкарыстоўваць у гэтым размеркаванні код і ўключыць у іх 36 00:01:35,620 --> 00:01:37,390 Мне было даручана. 37 00:01:37,390 --> 00:01:39,090 >> І цяпер у нас ёсць тып дадзеных. 38 00:01:39,090 --> 00:01:41,470 Мы аб'яўляем, што актэт быць знак. 39 00:01:41,470 --> 00:01:44,040 І мы ўбачым пазней, што гэта які выкарыстоўваецца ў кодзе. 40 00:01:44,040 --> 00:01:45,670 І мы абвясцілі цэлая куча прататыпаў, 41 00:01:45,670 --> 00:01:47,961 і мы хутка прайсці праз кожны з гэтых функцый. 42 00:01:47,961 --> 00:01:50,400 Нарэшце, і, магчыма, найбольш Важна мець на 43 00:01:50,400 --> 00:01:52,520 розум ў дадзены момант у гісторыя, з'яўляецца тое, што 44 00:01:52,520 --> 00:01:54,520 , На самай справе ўся куча глабальных зменных 45 00:01:54,520 --> 00:02:00,430 у верхняй частцы файла, корань, CFD, ЮФО, просьба, файлаў і цела. 46 00:02:00,430 --> 00:02:03,960 >> Цяпер, як правіла, з выкарыстаннем так шмат глабальных пераменныя або глабальныя зменныя наогул, 47 00:02:03,960 --> 00:02:05,280 не вярнуўся практыцы. 48 00:02:05,280 --> 00:02:09,090 Але, аказваецца, мы таксама выкарыстоўваем метад, званы апрацоўка сігналаў пазней 49 00:02:09,090 --> 00:02:11,930 у кодзе, што дазваляе нам вызначыць, калі карыстальнік націскае што-то 50 00:02:11,930 --> 00:02:15,080 як CTRL-C і зачыніць Сервер хупава. 51 00:02:15,080 --> 00:02:18,240 А для таго, каб зрабіць гэта хупава а на самай справе вызваліць памяць, 52 00:02:18,240 --> 00:02:20,800 мы павінны мець доступ да Гэтыя глабальныя зменныя. 53 00:02:20,800 --> 00:02:24,510 >> А цяпер давайце зірнем на-Майне, які дыскі паўнату гэтай праграмы. 54 00:02:24,510 --> 00:02:27,720 Па-першае, у верхняй тут ёсць нумар зменнай памылцы 55 00:02:27,720 --> 00:02:29,570 што, здаецца, не ёсць тып, але гэта 56 00:02:29,570 --> 00:02:31,500 таму што гэта на самай справе вызначаны ў файле пад назвай 57 00:02:31,500 --> 00:02:34,800 Памылка errno.h, якія уключаны вышэй. 58 00:02:34,800 --> 00:02:38,780 Калі вы чалавек ERRNO на самай справе вызначэнне см за гэтую справу, 59 00:02:38,780 --> 00:02:41,230 Вы ўбачыце, што гэта спецыяльная глабальная пераменная, якая 60 00:02:41,230 --> 00:02:43,350 усталёўваецца цэлы букет функцый не напісана 61 00:02:43,350 --> 00:02:48,730 намі, але аўтары Linux і іншыя сістэмы, каб фактычна ўсталяваць 62 00:02:48,730 --> 00:02:52,400 Колькасць гэтай зменнай, калі што-то ідзе не так, так што вы можаце ва ўсім свеце 63 00:02:52,400 --> 00:02:54,830 высветліць, што ж ідзе не так. 64 00:02:54,830 --> 00:02:58,540 >> Цяпер ўнізе вы ўбачыце новы Тэхніка магчыма, з выкарыстаннем Getopt, 65 00:02:58,540 --> 00:03:01,790 функцыя, якая дапамагае разбору каманды аргументы каманднага радка, так што мы не 66 00:03:01,790 --> 00:03:05,540 прыйдзецца турбавацца бескарыснай марнаванні часу на высвятленне як разабраць нешта накшталт 8080, 67 00:03:05,540 --> 00:03:08,350 або працяжнік р, або працяжнік ч, каб атрымаць дапамогу. 68 00:03:08,350 --> 00:03:10,300 Getopt па сутнасці робіць гэта за нас. 69 00:03:10,300 --> 00:03:11,750 Звярніцеся да старонцы Даведніка больш. 70 00:03:11,750 --> 00:03:13,960 >> Далей, мы робім трохі памылак праверка, каб пераканацца, 71 00:03:13,960 --> 00:03:17,420 што нумар порта ў межах Ўказаны дыяпазон у спецыфікацыі. 72 00:03:17,420 --> 00:03:20,240 Далей, мы бачым выклік функцыі пачаць, вызначэнне якога мы 73 00:03:20,240 --> 00:03:24,040 Паглядзіце, у імгненне, і як яго імя прапануе, гэта пачынае вэб-сервер. 74 00:03:24,040 --> 00:03:26,960 Тут мы маем выклік функцыі называецца сігнал, які кажа, 75 00:03:26,960 --> 00:03:30,750 калі і калі вы чуеце кіравання З ад Клавіятура карыстальніка, ісці наперад і называць 76 00:03:30,750 --> 00:03:34,650 апрацоўшчык Функцыя называецца, што адбываецца у канчатковым рахунку, чыстыя рэчы і перастаць 77 00:03:34,650 --> 00:03:35,500 сервер. 78 00:03:35,500 --> 00:03:39,470 >> Ніжэй гэта тое, што, як уяўляецца, бясконцы цыкл, першая лінія якога 79 00:03:39,470 --> 00:03:41,660 эфектыўна, гэта выклік для выкліку функцыі 80 00:03:41,660 --> 00:03:45,110 скід, які мы бярэм на сябе ажыццявіць пазней у парадку 81 00:03:45,110 --> 00:03:47,470 каб вызваліць некаторыя з нашых глабальных станаў. 82 00:03:47,470 --> 00:03:50,480 Пасля гэтага гэта лінія код, які ўмоўна 83 00:03:50,480 --> 00:03:52,576 правярае вяртанне Значэнне сувязі. 84 00:03:52,576 --> 00:03:55,700 Цяпер, звязаныя выглядае як прэдыкатаў, тое, што вяртае ісціну або хлусня. 85 00:03:55,700 --> 00:03:58,040 І гэта робіць, але ёсць што-то асаблівае ў сувязі 86 00:03:58,040 --> 00:03:59,960 у тым, што гэта выклікае блякаваньне. 87 00:03:59,960 --> 00:04:03,180 Ён будзе сядзець і чакаць пакуль браўзэры карыстальніка 88 00:04:03,180 --> 00:04:05,860 спрабуе падлучыцца да гэтай сеткі сервер і толькі тады яна зможа 89 00:04:05,860 --> 00:04:10,160 вярнуцца сапраўдным або ілжывым, так што мы зыходзім да ўнутранай гэтым, калі заяву. 90 00:04:10,160 --> 00:04:13,870 >> Калі-то, заўважце, гэтую функцыю Функцыя называецца разбору, аб якім мы пісалі, 91 00:04:13,870 --> 00:04:17,230 які аналізуе ўсе актэтаў, усё байтаў, якія паступаюць з-браўзэр 92 00:04:17,230 --> 00:04:21,010 на серверы, так што мы можам перадаць Вы зноў у канчатковым рахунку, значэнне аднаго 93 00:04:21,010 --> 00:04:24,420 з тых глабальных зменных, якія захоўвае ўсе байт ў проста 94 00:04:24,420 --> 00:04:26,630 загалоўкі, што запыт, а не цела 95 00:04:26,630 --> 00:04:28,920 калі на самай справе было цела да яго. 96 00:04:28,920 --> 00:04:32,980 >> Цяпер ўнізе мы пачынаем разабраць гэтыя загалоўкі, каб атрымаць 97 00:04:32,980 --> 00:04:35,490 падмноства інфармацыі што мы клапоцімся пра. 98 00:04:35,490 --> 00:04:37,740 У прыватнасці, у спецыфікацыя, мы спачатку 99 00:04:37,740 --> 00:04:40,580 хацеў прасіць лінія, якая з'яўляецца Проста вельмі першы радок, якая 100 00:04:40,580 --> 00:04:45,710 мы спадзяемся, кажа нешта накшталт Get скараціць або якой-небудзь шлях, а затым HTTP 1.1. 101 00:04:45,710 --> 00:04:48,150 Мы выкарыстоўваем гэтую метафару іголкі ў стозе сена 102 00:04:48,150 --> 00:04:50,370 шукаць прыватнасці сімвалы або адрасы. 103 00:04:50,370 --> 00:04:53,120 І на самай справе, ёсць шэраг функцыі ў нашым кодзе размеркавання 104 00:04:53,120 --> 00:04:56,930 што вы таксама могуць апынуцца карыснымі пры пошуку канкрэтных значэнняў. 105 00:04:56,930 --> 00:05:00,630 >> У канчатковым рахунку, мы капіяваны гэтыя байты у зменнай з імем лініі, 106 00:05:00,630 --> 00:05:03,510 якія заўважылі, занадта, мы ў стэку 107 00:05:03,510 --> 00:05:05,890 шляхам дынамічнага памеру масіва. 108 00:05:05,890 --> 00:05:08,350 І мы свядома спрабуе каб пазбегнуць выкліку Таноса 109 00:05:08,350 --> 00:05:11,100 таму што зноў, таму што з-пад кантролю C з'яўляецца 110 00:05:11,100 --> 00:05:14,630 Патэнцыял асаблівасцю гэтай праграмы, мы не хочаце, каб гэты код раптам 111 00:05:14,630 --> 00:05:17,479 перапынена карыстальнікам ўдару Кантроль С, у выніку якой 112 00:05:17,479 --> 00:05:20,270 з'яўляецца тое, што я не мог ёсць шанец для вольнага то я malloced. 113 00:05:20,270 --> 00:05:23,660 Так што я спрабую выкарыстоўваць так шмат стэка, я можаце тут. 114 00:05:23,660 --> 00:05:26,040 >> Затым, цэлым букетам у DOS. 115 00:05:26,040 --> 00:05:28,930 Спецыфікацыя выкласці на тое, што чакаецца тут, 116 00:05:28,930 --> 00:05:31,800 але каментарыі вам намёк на тое, што ляжыць наперадзе. 117 00:05:31,800 --> 00:05:33,830 Спачатку вы павінны праверыць радок запыту 118 00:05:33,830 --> 00:05:37,760 і пераканайцеся, што яна выглядае як Характарыстыкі граматыкі, так бы мовіць, 119 00:05:37,760 --> 00:05:38,541 кажа, што трэба. 120 00:05:38,541 --> 00:05:41,290 Затым трэба атрымаць што-то называецца запыт, рэчыва, з 121 00:05:41,290 --> 00:05:44,200 пасля пытальніка, як мы бачылі наш прыклад Google 122 00:05:44,200 --> 00:05:46,320 Адначасна ў параметры HD. 123 00:05:46,320 --> 00:05:49,050 Мы затым злучыце разам корань вэб-сервера 124 00:05:49,050 --> 00:05:52,520 са шляху, якая знаходзіцца ў што запыт на першай лініі 125 00:05:52,520 --> 00:05:56,010 і ўтвараюць поўны шлях файл, які мы хочам шукаць. 126 00:05:56,010 --> 00:06:00,300 >> Пасля гэтага, мы збіраемся, каб пераканацца, што файл існуе і даступны для чытання. 127 00:06:00,300 --> 00:06:05,100 А потым мы збіраемся атрымаць яго Пашырэнне файла, .html або .php, 128 00:06:05,100 --> 00:06:09,920 ці некаторыя такія пашырэнне, якое па крайняй самы канец радка прасіў. 129 00:06:09,920 --> 00:06:11,940 Далей ідзе ўся куча кода, які мы напісалі 130 00:06:11,940 --> 00:06:15,800 на самай справе генераваць PHP кантэнт для вас. 131 00:06:15,800 --> 00:06:18,010 У двух словах, гэта код бярэ ў імя 132 00:06:18,010 --> 00:06:20,250 файла, які вы хочаце PHP для інтэрпрэтацыі. 133 00:06:20,250 --> 00:06:24,630 Мы праходзім яго, што называецца труба ў перакладчыка PHP. 134 00:06:24,630 --> 00:06:28,060 Атрымаць назад адказ, як быццам Адказ быў сам файл. 135 00:06:28,060 --> 00:06:32,110 І тады мы перабраць гэтага файла байт, пацягнуўшы іх усё ў адзін буфер 136 00:06:32,110 --> 00:06:34,180 так што мы можам у канчатковым рахунку, раздрукаваць іх. 137 00:06:34,180 --> 00:06:37,230 >> На самай справе, усе гэтыя называе тут, каб dprintf 138 00:06:37,230 --> 00:06:40,110 дазваляе нам друкаваць што-то называецца дэскрыптар файла, які 139 00:06:40,110 --> 00:06:42,350 гэта проста цэлы лік які ўяўляе сабой файл. 140 00:06:42,350 --> 00:06:45,360 Вельмі блізкія па духу, але прынцыпова адрозніваецца ад файла 141 00:06:45,360 --> 00:06:46,620 зорка паказальнік. 142 00:06:46,620 --> 00:06:50,260 Звярніце ўвагу, як можна выкарыстоўваць сінтаксіс, як Printf тут, так што я магу дынамічна 143 00:06:50,260 --> 00:06:54,000 ўставіць нешта накшталт даўжыні для значэння загалоўка HTTP 144 00:06:54,000 --> 00:06:55,270 называецца Content-Length. 145 00:06:55,270 --> 00:06:57,990 І ў канчатковым рахунку я выкарыстаў Функцыя права на самай справе пісаць 146 00:06:57,990 --> 00:07:00,040 цела запыту. 147 00:07:00,040 --> 00:07:03,750 >> На жаль, мы толькі рэалізаваны падтрымка для дынамічна 148 00:07:03,750 --> 00:07:05,350 генерыруюцца PHP файлы. 149 00:07:05,350 --> 00:07:08,520 Мы не рэалізавалі падтрымку статычныя файлы, такія як GIF-файлаў, і ў фармаце JPEG, 150 00:07:08,520 --> 00:07:10,660 і CSS і HTML файлы. 151 00:07:10,660 --> 00:07:14,450 Гэта, на жаль, застаецца з вамі у адказ на мэты кліента 152 00:07:14,450 --> 00:07:15,090 гэта рабіць. 153 00:07:15,090 --> 00:07:20,050 Дык там вы выявіце, што ёсць не так шмат натхнення ўнутры гэтага блока, 154 00:07:20,050 --> 00:07:23,520 але калі вы крыху вышэй, як мы пайшлі аб тлумачэнні PHP код, 155 00:07:23,520 --> 00:07:25,520 функцыі, якія вы будзеце выкарыстоўваць трохі адрозніваецца. 156 00:07:25,520 --> 00:07:27,561 >> На самай справе, вы можаце ўзяць некаторыя функцыі 157 00:07:27,561 --> 00:07:29,620 магчыма, з судова-медыцынскай экспертызы Праблема набор, таму што 158 00:07:29,620 --> 00:07:32,860 у рэшце рэшт, усё што вам трэба зрабіць тут калі-то вы ведаеце, што файл адкрыты 159 00:07:32,860 --> 00:07:35,690 і як толькі вы ведаеце, што гэта так называецца Тып MIME або тып змесціва, 160 00:07:35,690 --> 00:07:39,040 Вы павінны прачытаць у гэтых байтах і як-то пляваць іх назад. 161 00:07:39,040 --> 00:07:41,190 >> А цяпер тур гэта іншыя функцыі файла. 162 00:07:41,190 --> 00:07:43,820 У першую чаргу звязана, які проста вяртае ісціну 163 00:07:43,820 --> 00:07:47,350 калі ён, нарэшце, чуе Злучэнне ад карыстальніка. 164 00:07:47,350 --> 00:07:48,786 Далей ідзе пра памылку. 165 00:07:48,786 --> 00:07:52,296 Памылка, тым часам, як функцыя, якую мы напісаў у звароце усе розныя 400 166 00:07:52,296 --> 00:07:55,360 і статус 500 HTTP коды, якія вы можаце 167 00:07:55,360 --> 00:07:58,500 Каб адправіць назад карыстачу, разам са стандартным паведамленнем. 168 00:07:58,500 --> 00:08:01,950 >> Далей ідзе нагрузка, асабліва мясістыя функцыя, мэта якога ў жыцці 169 00:08:01,950 --> 00:08:06,920 чытаць з файлавай зоркі паказальнік Змесціва файла ў глабальным буферы 170 00:08:06,920 --> 00:08:09,000 што мы абвешчаныя глабальна вышэй [? галоўны. ?] 171 00:08:09,000 --> 00:08:12,649 Гэта даволі складана, таму што мы павінны прачытаць байт з файла 172 00:08:12,649 --> 00:08:14,690 але праверце, на кожнай ітэрацыі Ці маю ўжо 173 00:08:14,690 --> 00:08:17,600 трапіў у канец файла або яшчэ што-то пайшло не так. 174 00:08:17,600 --> 00:08:21,210 І мы выкарыстоўваем пераразмеркаваць, каб пераканацца, што усе буфера мы выкарыстоўваем расце 175 00:08:21,210 --> 00:08:24,440 і ўсё расце і расце і заўсёды апярэджваць лік байтаў, 176 00:08:24,440 --> 00:08:25,675 што мы павінны ўпісвацца ў там. 177 00:08:25,675 --> 00:08:27,550 Хэндлер, тым часам, функцыя, якая атрымлівае 178 00:08:27,550 --> 00:08:30,630 называецца шляхам, які мае зарэгістравана кіравання C у якасці сігналу 179 00:08:30,630 --> 00:08:32,140 што мы хочам перахапіць. 180 00:08:32,140 --> 00:08:34,070 Звярніце ўвагу, тут, у апрацоўшчык што ў канчатковым выніку і 181 00:08:34,070 --> 00:08:36,780 выклікі прыпынку, што, вядома, спыняе вэб-сервер. 182 00:08:36,780 --> 00:08:39,750 І, на жаль, пошук не рэалізаваны. 183 00:08:39,750 --> 00:08:41,940 У духу, гэта даволі простая функцыя. 184 00:08:41,940 --> 00:08:44,900 Улічваючы пашырэнне файла, ён павінен вярнуцца гэта так званы MIME 185 00:08:44,900 --> 00:08:46,320 тып або тып змесціва. 186 00:08:46,320 --> 00:08:49,260 І мы паказваем ў апісанні што гэта адлюстраванне павінна быць. 187 00:08:49,260 --> 00:08:52,330 Але для гэтага трэба перавесці гэта ў канчатковым рахунку кода на C. 188 00:08:52,330 --> 00:08:56,490 >> Затым наша аналагічна мясістыя функцыя называецца разбору, якога мэта ў жыцці 189 00:08:56,490 --> 00:08:59,350 гэта чытаць, а не з файла, а ад сеткавага злучэння. 190 00:08:59,350 --> 00:09:03,510 У прыватнасці, чытанне і аналіз Запыт HTTP, які прыйшоў з браўзэра 191 00:09:03,510 --> 00:09:05,940 на серверы, так што у канчатковым рахунку, мы можам разабраць 192 00:09:05,940 --> 00:09:09,530 за ўсё ў загалоўках запыту лініі і вярнуцца тых, да вас 193 00:09:09,530 --> 00:09:12,720 шляхам глабальнага буфера, мы абвясцілі вышэй [? галоўны. ?] 194 00:09:12,720 --> 00:09:14,880 >> Скід, тым часам, функцыя, якую мы вызначым 195 00:09:14,880 --> 00:09:18,730 што выклікаецца шматкроць ўнутры асноўны кожны раз вы збіраецеся 196 00:09:18,730 --> 00:09:20,799 гатовыя, каб пачаць праслухоўванне Для новага злучэння 197 00:09:20,799 --> 00:09:22,840 так што мы заўсёды ведаем, стан нашых зменных 198 00:09:22,840 --> 00:09:24,870 і так, што мы таксама вызваліў любую памяць, якая 199 00:09:24,870 --> 00:09:28,070 можа быць выдзелена папярэдняя падключэнне да сеткі. 200 00:09:28,070 --> 00:09:30,060 Затым гэта пачаць, функцыя, якую мы напісалі 201 00:09:30,060 --> 00:09:31,920 які змяшчае ўсю шмат сеткавай код 202 00:09:31,920 --> 00:09:34,420 што ў канчатковым выніку пачынае вэб-сервер. 203 00:09:34,420 --> 00:09:36,680 >> Апошняе створым функцыю называецца прыпынак, якая 204 00:09:36,680 --> 00:09:38,770 робіць менавіта тое, што яго спыняе вэб-сервер. 205 00:09:38,770 --> 00:09:42,270 Але спачатку ён вызваляе ўсю памяць, што да гэтага часу было выдзелена. 206 00:09:42,270 --> 00:09:45,850 Але ў канчатковым выніку гэта выклікае выхад нават не вяртаючы кіраванне 207 00:09:45,850 --> 00:09:47,480 да нашай асноўнай функцыі. 208 00:09:47,480 --> 00:09:49,480 У канчатковым рахунку, адзін з Найважнейшымі метады 209 00:09:49,480 --> 00:09:52,680 Пры рэалізацыі гэтага вэб-сервер будзе трохі спроб і памылак, 210 00:09:52,680 --> 00:09:55,886 маючы адкрытае акно аднаго браўзэра справа і акно тэрмінала на 211 00:09:55,886 --> 00:09:57,760 злева, кансольныя серверы акно, так што вы 212 00:09:57,760 --> 00:10:00,420 можна ўбачыць паведамленні, якія адлюстроўваецца на экране. 213 00:10:00,420 --> 00:10:04,170 >> Але ўсё-ткі лепш было б на траціну Акно, другое акно тэрмінала, 214 00:10:04,170 --> 00:10:07,135 у якой вы карыстаецеся Telnet, выкарыстанне для якіх прадпісана ў спецыфікацыі. 215 00:10:07,135 --> 00:10:09,640 І Telnet проста вельмі простая сеткавая праграма 216 00:10:09,640 --> 00:10:12,660 што дазваляе прэтэндаваць на быць браўзэр у адным акне 217 00:10:12,660 --> 00:10:14,540 падчас размовы ў іншае акно. 218 00:10:14,540 --> 00:10:16,830 Такім чынам, вы можаце бачыць роўна тэкставыя каманды 219 00:10:16,830 --> 00:10:18,700 што вяртаюцца ад сервера да кліента 220 00:10:18,700 --> 00:10:20,810 без тыкаць вакол распрацоўніка ў Chrome 221 00:10:20,810 --> 00:10:24,010 інструменты ў адваротным выпадку clunkier інтэрфейс. 222 00:10:24,010 --> 00:10:29,099