1 00:00:00,000 --> 00:00:09,647 2 00:00:09,647 --> 00:00:11,730 SPEAKER: Issa ejja adsa fil-kodiċi ta 'distribuzzjoni 3 00:00:11,730 --> 00:00:14,470 u tagħti ħarsa lejn il-kuntest li fiha l-kodiċi tikteb 4 00:00:14,470 --> 00:00:15,780 se jkun qed jopera. 5 00:00:15,780 --> 00:00:17,350 Fl-aħħar tal-ġurnata, int ser jimplimentaw 6 00:00:17,350 --> 00:00:18,710 l-intier ta 'l-web server. 7 00:00:18,710 --> 00:00:20,460 Imma aħna għandna sakemm inti ma 'l-iskeletru 8 00:00:20,460 --> 00:00:24,090 kodiċi li jkollhom xi funzjonalità, partikolarment relatati mal-netwerking. 9 00:00:24,090 --> 00:00:25,390 Ejja tagħti ħarsa. 10 00:00:25,390 --> 00:00:27,560 >> Allura up here lejn il-quċċata tal-fajl huwa mazz 11 00:00:27,560 --> 00:00:30,020 karatteristika test rekwiżiti makro. 12 00:00:30,020 --> 00:00:33,570 Issa din hija biss karatteristika ta 'c, fejn skond il-mazz ta 'paġni bniedem 13 00:00:33,570 --> 00:00:36,410 ikollok biex jiddefinixxu xi wħud dawn kostanti biex ikunu vera 14 00:00:36,410 --> 00:00:39,920 jew li jkun saħansitra numri speċifiċi hekk li ikollok aċċess għal ċerti funzjonijiet. 15 00:00:39,920 --> 00:00:42,470 Inkella dawn ser ikunu mhux iddikjarat u int mhux se jkollhom aċċess. 16 00:00:42,470 --> 00:00:45,340 So I ghamilt dan permezz tal-qari tal-paġni bniedem. 17 00:00:45,340 --> 00:00:48,410 Issa stabbiliti hawn taħt, Linji 15 permezz 17, aħna 18 00:00:48,410 --> 00:00:50,550 jkollhom mazz sħiħ ta 'limiti ddikjarati. 19 00:00:50,550 --> 00:00:53,370 >> U aħna ħadthom mislufa dawn minn web server popolari imsejħa Apache. 20 00:00:53,370 --> 00:00:54,650 U dawn huma biss numri li huma għaddejjin 21 00:00:54,650 --> 00:00:56,810 li għatu l-għadd totali ta 'bytes li huma permessi 22 00:00:56,810 --> 00:01:01,930 f'diversi kuntesti għat-talba HTTP li browser huwa permess li tibgħatli. 23 00:01:01,930 --> 00:01:04,310 Sussegwentement, aħna jiddefinixxu octets. 24 00:01:04,310 --> 00:01:07,790 Issa l-ottett huwa biss mod fancy ta 'tgħid byte, jew tmien bits. 25 00:01:07,790 --> 00:01:10,720 Jinstabx fi yesteryear f'byte ma kienx qed neċessarjament tmienja bits, 26 00:01:10,720 --> 00:01:12,339 hekk ottett huwa dejjem tmien bits. 27 00:01:12,339 --> 00:01:14,880 Allura f'dan il-każ aħna ve adottati x'hemm komuni fil-netwerking 28 00:01:14,880 --> 00:01:17,410 dinja ta 'sejħa tmien bytes ta ottett. 29 00:01:17,410 --> 00:01:21,840 >> Hawnhekk stajt speċifikat li ottetti se jkun 512, b'tali mod li ħafna bħal fil-forensika 30 00:01:21,840 --> 00:01:24,170 meta naqraw mazz ta bytes fi żmien, hawnhekk ukoll, 31 00:01:24,170 --> 00:01:27,390 aħna qed tmur biex taqra mazz ta 'ottetti fi żmien. 32 00:01:27,390 --> 00:01:28,922 Li jmiss mazz sħiħ ta 'fajls header. 33 00:01:28,922 --> 00:01:30,255 Kif ma naf li tinkludi dawn? 34 00:01:30,255 --> 00:01:32,730 Well I sempliċiment jaqra l-bniedem paġni għal numru ta 'funzjonijiet 35 00:01:32,730 --> 00:01:35,620 li aħna ser tuża f'dan distribuzzjoni kodiċi u jinkludu fil-dawk 36 00:01:35,620 --> 00:01:37,390 I kien struzzjonijiet biex. 37 00:01:37,390 --> 00:01:39,090 >> U issa għandna tip ta 'data. 38 00:01:39,090 --> 00:01:41,470 Imxejna ddikjarat bħala ottett li tkun char. 39 00:01:41,470 --> 00:01:44,040 U aħna ser tara aktar tard dik thats użat madwar il-kodiċi. 40 00:01:44,040 --> 00:01:45,670 U aħna ħadthom iddikjarata mazz sħiħ ta 'prototipi, 41 00:01:45,670 --> 00:01:47,961 u aħna ser jimxu malajr permezz kull waħda minn dawk il-funzjonijiet. 42 00:01:47,961 --> 00:01:50,400 Fl-aħħar nett, u forsi aktar importanti li wieħed iżomm 43 00:01:50,400 --> 00:01:52,520 mind f'dan il-punt fil- l-istorja, hija li hemm 44 00:01:52,520 --> 00:01:54,520 huma, fil-fatt kollu mazz ta 'varjabbli globali 45 00:01:54,520 --> 00:02:00,430 fil-quċċata tal-fajl, għeruq, CFD, SFD, talba, fajl u l-korp. 46 00:02:00,430 --> 00:02:03,960 >> Issa ġeneralment, jużaw tant globali varjazzjonijiet, jew varjazzjonijiet globali fil-livelli kollha, 47 00:02:03,960 --> 00:02:05,280 mhuwiex il-prattika lura. 48 00:02:05,280 --> 00:02:09,090 Iżda jirriżulta aħna wkoll qed tuża teknika msejħa tqandil sinjal aktar tard 49 00:02:09,090 --> 00:02:11,930 fil-kodiċi, li jippermetti li jikxfu meta l-utent hits xi ħaġa 50 00:02:11,930 --> 00:02:15,080 bħall CTRL C u mitfija l-server gracefully. 51 00:02:15,080 --> 00:02:18,240 U sabiex tagħmel dan gracefully u fil-fatt b'xejn sa memorja, 52 00:02:18,240 --> 00:02:20,800 għandna bżonn li jkollhom aċċess għall- dawn il-varjabbli globali. 53 00:02:20,800 --> 00:02:24,510 >> U issa ejja tagħti ħarsa lejn prinċipali, li ssuq il-totalità ta 'dan il-programm. 54 00:02:24,510 --> 00:02:27,720 L-ewwel nett, fil-quċċata here we ikollhom numru varjabbli żball 55 00:02:27,720 --> 00:02:29,570 li jidher li ma jkollhom tip, iżda li 56 00:02:29,570 --> 00:02:31,500 għaliex huwa attwalment definita fil-fajl imsejħa 57 00:02:31,500 --> 00:02:34,800 errno.h żball li huwa inkluż ogħla sa. 58 00:02:34,800 --> 00:02:38,780 Jekk inti tagħmel bniedem errno biex effettivament ara d-definizzjoni għal dan il-ħaġa, 59 00:02:38,780 --> 00:02:41,230 tkun taf tara li dan huwa varjabbli globali speċjali li 60 00:02:41,230 --> 00:02:43,350 titwaqqaf minn mazz sħiħ ta 'funzjonijiet mhux miktub 61 00:02:43,350 --> 00:02:48,730 mill minna, iżda mill-awturi tal-Linux u sistemi oħra li attwalment stabbiliti 62 00:02:48,730 --> 00:02:52,400 numru li dak il-varjabbli meta xi ħaġa tmur ħażin sabiex inti tista 'globalment 63 00:02:52,400 --> 00:02:54,830 ċifra barra dak li għamilt tmur ħażin. 64 00:02:54,830 --> 00:02:58,540 >> Issa stabbiliti hawn taħt inti ser tara ġdida teknika forsi jużaw getopt, 65 00:02:58,540 --> 00:03:01,790 funzjoni li tgħin kmand parse argumenti linja tant li nagħmlu mhux 66 00:03:01,790 --> 00:03:05,540 jkollhom li jolqot ħela ta 'ħin li jidhru kif parse xi ħaġa simili 8080, 67 00:03:05,540 --> 00:03:08,350 jew p sing, jew h sing biex tikseb l-għajnuna. 68 00:03:08,350 --> 00:03:10,300 getopt essenzjalment ma li għalina. 69 00:03:10,300 --> 00:03:11,750 Ara l-paġna bniedem għal aktar. 70 00:03:11,750 --> 00:03:13,960 >> Sussegwentement, nagħmlu daqsxejn ta 'żball verifika biex tagħmel żgur 71 00:03:13,960 --> 00:03:17,420 li n-numru tal-port huwa fi ħdan il-firxa speċifikata fil-spec. 72 00:03:17,420 --> 00:03:20,240 Sussegwentement, naraw sejħa għall-funzjoni tibda, li d-definizzjoni aħna ser 73 00:03:20,240 --> 00:03:24,040 tħares lejn fil-mument, u bħala l-isem tagħha jissuġġerixxi, dan jibda l-web server. 74 00:03:24,040 --> 00:03:26,960 Hawnhekk għandna sejħa għal funzjoni imsejħa sinjal li jgħid, 75 00:03:26,960 --> 00:03:30,750 jekk u meta inti tisma 'Kontroll C minn keyboard-utent, imorru quddiem u sejħa 76 00:03:30,750 --> 00:03:34,650 funzjoni msejħa handler li għaddej affarijiet li finalment tnaddaf u jieqfu 77 00:03:34,650 --> 00:03:35,500 l-server. 78 00:03:35,500 --> 00:03:39,470 >> Hawn taħt dan huwa dak li jidher li jkun hemm loop infinita, l-ewwel linja ta 'liema 79 00:03:39,470 --> 00:03:41,660 effettivament huwa sejħa għal funzjoni msejħa 80 00:03:41,660 --> 00:03:45,110 reset, li aħna lilna nfusna jimplimentaw aktar tard sabiex 81 00:03:45,110 --> 00:03:47,470 biex tilliberalizza xi wħud mill-istati globali tagħna. 82 00:03:47,470 --> 00:03:50,480 Wara li hija linja ta ' kodiċi li kondizzjonalment 83 00:03:50,480 --> 00:03:52,576 qed jiċċekkja r-ritorn valur ta 'konnessi. 84 00:03:52,576 --> 00:03:55,700 Jistenna Issa konnessi bħal relattivi, xi ħaġa li jirritorna vera jew falza. 85 00:03:55,700 --> 00:03:58,040 U dan huwa minnu, iżda hemm xi ħaġa speċjali fil konnessi 86 00:03:58,040 --> 00:03:59,960 f'dik huwa sejħa imblukkar. 87 00:03:59,960 --> 00:04:03,180 Hija se joqogħdu hemm u stenna sakemm browser ta 'utent 88 00:04:03,180 --> 00:04:05,860 tipprova li jgħaqqdu din il-web server u biss mbagħad ser ikun 89 00:04:05,860 --> 00:04:10,160 ritorn vera jew falza sabiex inkunu jipproċedi għal ġewwa ta 'dan jekk id-dikjarazzjoni. 90 00:04:10,160 --> 00:04:13,870 >> Ladarba hemm, avviż din il-funzjoni lil funzjoni msejħa parse, li aħna kiteb, 91 00:04:13,870 --> 00:04:17,230 li parses kollha tal-ottetti, kollha ta 'l-bytes li jkunu ġejjin minn browser 92 00:04:17,230 --> 00:04:21,010 lis-server, sabiex inkunu nistgħu idejn inti lura finalment valur lil wieħed 93 00:04:21,010 --> 00:04:24,420 ta 'dawk varjabbli globali li ħwienet kollha ta 'l-bytes fi ftit 94 00:04:24,420 --> 00:04:26,630 il headers ta 'dik talba, mhux il-ġisem 95 00:04:26,630 --> 00:04:28,920 jekk kien hemm attwalment korp lilha. 96 00:04:28,920 --> 00:04:32,980 >> Issa stabbiliti hawn taħt aħna jibdew parse dawk headers għall-estratt 97 00:04:32,980 --> 00:04:35,490 subsett ta 'l-informazzjoni li aħna jimpurtahom. 98 00:04:35,490 --> 00:04:37,740 Speċifikament, kull l- ispeċifikazzjoni, aħna l-ewwel 99 00:04:37,740 --> 00:04:40,580 riedu li jitlob linja, li hija biss li ħafna ewwel linja li 100 00:04:40,580 --> 00:04:45,710 nisperaw jgħid xi ħaġa bħal get mmejla jew xi triq u mbagħad HTTP 1.1. 101 00:04:45,710 --> 00:04:48,150 Aħna qed jużaw dan metafora ta 'labra fil haystack 102 00:04:48,150 --> 00:04:50,370 biex tfittex partikolari Chars jew indirizzi. 103 00:04:50,370 --> 00:04:53,120 U fil-fatt, hemm numru ta ' funzjonijiet kodiċi tad-distribuzzjoni tagħna 104 00:04:53,120 --> 00:04:56,930 li inti, wisq, tista 'ssib utli meta jkunu qed ifittxu għall-valuri partikolari. 105 00:04:56,930 --> 00:05:00,630 >> Fl-aħħarnett, aħna kopja dawn bytes fi varjabbli msejħa linja, 106 00:05:00,630 --> 00:05:03,510 li avviż, wisq, konna allokati fuq il-munzell 107 00:05:03,510 --> 00:05:05,890 permezz ta 'firxa daqs dinamikament. 108 00:05:05,890 --> 00:05:08,350 U aħna qed deliberatament jippruvaw biex jevitaw ssejjaħ malloc 109 00:05:08,350 --> 00:05:11,100 għaliex darb'oħra, għaliex ta 'Kontroll C li 110 00:05:11,100 --> 00:05:14,630 karatteristika potenzjal ta 'dan il-programm, aħna Ma rridx li jkollhom dan il-kodiċi f'daqqa 111 00:05:14,630 --> 00:05:17,479 interrott mill-laqtu utent Kontroll C, ir-riżultat ta 'liema 112 00:05:17,479 --> 00:05:20,270 huwa li jien ma jista 'jkollhom ċans għal xi ħaġa b'xejn stajt malloced. 113 00:05:20,270 --> 00:05:23,660 Hekk jien jippruvaw jużaw kemm tal-munzell hu nista hawn. 114 00:05:23,660 --> 00:05:26,040 >> Sussegwentement up, mazz sħiħ ta 'l dos. 115 00:05:26,040 --> 00:05:28,930 L-ispeċifikazzjoni ser jesponu fuq eżattament x'hemm mistenni hawn, 116 00:05:28,930 --> 00:05:31,800 iżda l-kummenti jtik ħjiel ta 'dak li jinsab quddiem. 117 00:05:31,800 --> 00:05:33,830 Inti l-ewwel bżonn li jivvalida l-linja talba 118 00:05:33,830 --> 00:05:37,760 u kun żgur li jidher qisu l- speċifikazzjonijiet grammatika, biex ngħidu hekk, 119 00:05:37,760 --> 00:05:38,541 jgħid suppost. 120 00:05:38,541 --> 00:05:41,290 Imbagħad għandek bżonn biex jiġi estratt xi ħaġa imsejjaħ il-mistoqsija, l-għalf out 121 00:05:41,290 --> 00:05:44,200 wara kwistjoni mark, bħal rajna b'eżempju Google tagħna 122 00:05:44,200 --> 00:05:46,320 fil-mogħdija fil parametru HD. 123 00:05:46,320 --> 00:05:49,050 Aħna mbagħad concatenate flimkien l-għerq tal-web server 124 00:05:49,050 --> 00:05:52,520 mal-passaġġ li fil li l-ewwel linja talba 125 00:05:52,520 --> 00:05:56,010 u jiffurmaw il-traġitt sħiħ tat il-fajl irridu li tfittex. 126 00:05:56,010 --> 00:06:00,300 >> Wara dan, aħna qed tmur biex tagħmel żgur li teżisti l-fajl u tinqara. 127 00:06:00,300 --> 00:06:05,100 U allura aħna qed tmur biex jiġi estratt tagħha estensjoni fajl, il-Html jew il-PHP, 128 00:06:05,100 --> 00:06:09,920 jew xi estensjoni bħal dan huwa fil- ħafna tarf tas-sekwenza mitluba. 129 00:06:09,920 --> 00:06:11,940 Li jmiss up huwa kollu kemm hu mazz ta 'kodiċi we kiteb 130 00:06:11,940 --> 00:06:15,800 li attwalment tiġġenera PHP kontenut għalik iġġenerat. 131 00:06:15,800 --> 00:06:18,010 Fil-qosor, dan kodiċi għandha jkollha fl-isem 132 00:06:18,010 --> 00:06:20,250 tal-fajl li inti tixtieq PHP biex tinterpreta. 133 00:06:20,250 --> 00:06:24,630 Aħna tgħaddiha minn xi ħaġa imsejħa pajp fis interpretu PHP. 134 00:06:24,630 --> 00:06:28,060 Terġa 'lura t-twegibiet kif għalkemm ir-rispons kienu file nnifsu. 135 00:06:28,060 --> 00:06:32,110 U allura aħna jtenni fuq dik tal-fajl bytes, ġbid lilhom kollha fis buffer wieħed 136 00:06:32,110 --> 00:06:34,180 sabiex inkunu nistgħu finalment tipprintjahom out. 137 00:06:34,180 --> 00:06:37,230 >> Tabilħaqq, dawn kollha jitlob hawn biex dprintf 138 00:06:37,230 --> 00:06:40,110 tippermetti magħna biex jistampaw xi ħaġa imsejħa deskrittur fajl, li 139 00:06:40,110 --> 00:06:42,350 huwa biss integer li jirrappreżenta fajl. 140 00:06:42,350 --> 00:06:45,360 Simili ħafna fl-ispirtu, imma fundamentalment differenti minn fajl 141 00:06:45,360 --> 00:06:46,620 pointer star. 142 00:06:46,620 --> 00:06:50,260 Avviż kif tista 'tuża sintassi bħal printf hawn hekk li nista dinamikament 143 00:06:50,260 --> 00:06:54,000 daħħal xi ħaġa bħall-tul għall-valur ta 'header HTTP 144 00:06:54,000 --> 00:06:55,270 imsejħa Kontenut Tul. 145 00:06:55,270 --> 00:06:57,990 U finalment I użat il- dritt li attwalment jiktbu funzjoni 146 00:06:57,990 --> 00:07:00,040 l-korp għat-talba. 147 00:07:00,040 --> 00:07:03,750 >> Sfortunatament, aħna implimentati biss appoġġ għall dinamikament 148 00:07:03,750 --> 00:07:05,350 fajls PHP ġġenerati. 149 00:07:05,350 --> 00:07:08,520 Aħna ma jimplimentaw appoġġ għall fajls statiċi simili gifs, u jpegs, 150 00:07:08,520 --> 00:07:10,660 u CSS u HTML fajls. 151 00:07:10,660 --> 00:07:14,450 Dan, sfortunatament, titħalla lilek biex twieġeb għall-iskop klijent 152 00:07:14,450 --> 00:07:15,090 dan li tagħmel. 153 00:07:15,090 --> 00:07:20,050 Allura fil hemm inti ser issib li hemm mhux wisq ispirazzjoni f'dak blokk, 154 00:07:20,050 --> 00:07:23,520 imma jekk inti ftit ogħla sa lejn kif aħna marru dwar interpretazzjoni kodiċi PHP, 155 00:07:23,520 --> 00:07:25,520 l-funzjonijiet inti ser tuża huma ftit differenti. 156 00:07:25,520 --> 00:07:27,561 >> Fil-fatt, inti tista 'tissellef ftit mill-funzjonalità 157 00:07:27,561 --> 00:07:29,620 forsi mill-forensika sett problema, għaliex 158 00:07:29,620 --> 00:07:32,860 fl-aħħar tal-ġurnata kollha li għandek bżonn biex nagħmlu hawnhekk huwa li ladarba inti taf liema fajl miftuħ 159 00:07:32,860 --> 00:07:35,690 u ladarba inti taf huwa l-hekk imsejħa Tip MIME jew tip kontenut, 160 00:07:35,690 --> 00:07:39,040 għandek bżonn biex jaqra f'dawk bytes u b'xi mod bżiq lura out. 161 00:07:39,040 --> 00:07:41,190 >> U issa tour ta 'dan funzjonijiet oħra fajl tal. 162 00:07:41,190 --> 00:07:43,820 Up ewwel hu mqabbad, li sempliċement prospetti vera 163 00:07:43,820 --> 00:07:47,350 meta finalment jisma konnessjoni minn utent. 164 00:07:47,350 --> 00:07:48,786 Li jmiss up huwa żball. 165 00:07:48,786 --> 00:07:52,296 Error, sadanittant, bħala funzjoni aħna kiteb biex jimmaniġġjaw kollha ta 'l differenti 400 166 00:07:52,296 --> 00:07:55,360 u l-istatus 500 HTTP kodiċijiet li inti tista 'tixtieq 167 00:07:55,360 --> 00:07:58,500 li jibgħat lura lill-utent, flimkien ma 'messaġġ standard. 168 00:07:58,500 --> 00:08:01,950 >> Li jmiss up huwa tagħbija, a partikularment funzjoni meaty, li l-iskop fil-ħajja 169 00:08:01,950 --> 00:08:06,920 huwa li jaqra minn stilla fajl pointer l kontenut ta 'fajl ġo buffer globali 170 00:08:06,920 --> 00:08:09,000 li aħna ddikjarat globalment hawn fuq [? prinċipali. ?] 171 00:08:09,000 --> 00:08:12,649 Dan huwa daqsxejn kumpless għaliex aħna għandek taqra l-bytes mill-fajl 172 00:08:12,649 --> 00:08:14,690 iżda ċċekkja fuq kull iterazzjoni jekk konna diġà 173 00:08:14,690 --> 00:08:17,600 laqat l-aħħar tal-fajl jew xi ħaġa oħra marret ħażin. 174 00:08:17,600 --> 00:08:21,210 U nużaw realloc biex tiżgura li ikun x'ikun buffer aħna qed jużaw qed jikber 175 00:08:21,210 --> 00:08:24,440 u li qed jikber u li qed jikber u dejjem toqgħod qabel il-numru ta 'bytes 176 00:08:24,440 --> 00:08:25,675 li għandna bżonn biex tajbin fil hemmhekk. 177 00:08:25,675 --> 00:08:27,550 Handler, sadanittant, hija il-funzjoni li gets 178 00:08:27,550 --> 00:08:30,630 imsejħa permezz ta 'wara Kontroll C reġistrat bħala sinjal 179 00:08:30,630 --> 00:08:32,140 li aħna rridu li jinterċettaw. 180 00:08:32,140 --> 00:08:34,070 Avviż hawn fil handler li finalment 181 00:08:34,070 --> 00:08:36,780 sejħiet stop, li naturalment iwaqqaf il-web server. 182 00:08:36,780 --> 00:08:39,750 U sfortunatament, Lookup ma jiġix implimentat. 183 00:08:39,750 --> 00:08:41,940 Fl-ispirtu, dan huwa funzjoni pjuttost sempliċi. 184 00:08:41,940 --> 00:08:44,900 Minħabba estensjoni fajl, jeħtieġ biex jirritorna huwa l-hekk imsejħa MIME 185 00:08:44,900 --> 00:08:46,320 tip jew tip kontenut. 186 00:08:46,320 --> 00:08:49,260 U aħna jispeċifikaw fl-ispeċifikazzjoni dak li l-immappjar għandu jkun. 187 00:08:49,260 --> 00:08:52,330 Imma għandek bżonn biex tittraduċi finalment għall-kodiċi c. 188 00:08:52,330 --> 00:08:56,490 >> Li jmiss up huwa funzjoni simili meaty tagħna imsejħa parse, l-iskop tagħhom fil-ħajja 189 00:08:56,490 --> 00:08:59,350 huwa li jaqra, mhux minn fajl, iżda minn konnessjoni tan-netwerk. 190 00:08:59,350 --> 00:09:03,510 Speċifikament, qari u parsing l Talba HTTP thats ġejjin minn browser 191 00:09:03,510 --> 00:09:05,940 lis-server hekk li finalment nistgħu parse 192 00:09:05,940 --> 00:09:09,530 fil biss l-intestaturi fit-talba line u r-ritorn dawk lilek 193 00:09:09,530 --> 00:09:12,720 permezz ta 'buffer globali li aħna ddikjarati hawn fuq [? prinċipali. ?] 194 00:09:12,720 --> 00:09:14,880 >> Irrisettja, sadanittant, hija funzjoni li niddefinixxu 195 00:09:14,880 --> 00:09:18,730 li gets imsejħa iteratively ġewwa ta prinċipali kull darba int dwar 196 00:09:18,730 --> 00:09:20,799 lest biex jibda jisma għal konnessjoni ġdida 197 00:09:20,799 --> 00:09:22,840 sabiex inkunu dejjem nafu l-istat ta 'varjabbli tagħna 198 00:09:22,840 --> 00:09:24,870 u hekk li konna wkoll ħelset kwalunkwe memorja li 199 00:09:24,870 --> 00:09:28,070 seta 'kien allokat għal konnessjoni tan-netwerk preċedenti. 200 00:09:28,070 --> 00:09:30,060 Li jmiss up jiġifieri tibda, il- funzjoni li aħna kiteb 201 00:09:30,060 --> 00:09:31,920 li fih sħiħa lott ta 'kodiċi tan-netwerking 202 00:09:31,920 --> 00:09:34,420 li finalment jibda l-web server. 203 00:09:34,420 --> 00:09:36,680 >> Last up huwa l-funzjoni imsejħa stop, li 204 00:09:36,680 --> 00:09:38,770 ma eżattament dan, iwaqqaf il-web server. 205 00:09:38,770 --> 00:09:42,270 Iżda l-ewwel jillibera up kwalunkwe memorja li għadu ġie allokat. 206 00:09:42,270 --> 00:09:45,850 Iżda huwa finalment tappella ħruġ anki mingħajr jirritornaw kontroll 207 00:09:45,850 --> 00:09:47,480 funzjoni ewlenija tagħna. 208 00:09:47,480 --> 00:09:49,480 Fl-aħħarnett, wieħed mill- F'ħafna tekniki importanti 209 00:09:49,480 --> 00:09:52,680 meta jimplimentaw din il-web server huwa se tkun daqsxejn ta 'prova u żball, 210 00:09:52,680 --> 00:09:55,886 li jkollu browser wieħed tieqa miftuħa fi dritt u tieqa terminal fi 211 00:09:55,886 --> 00:09:57,760 xellug, il servers console tieqa, sabiex inti 212 00:09:57,760 --> 00:10:00,420 tista 'tara l-messaġġi li huma qed jintwerew fuq l-iskrin. 213 00:10:00,420 --> 00:10:04,170 >> Iżda aħjar xorta jkun terz tieqa, tieqa terminal tieni, 214 00:10:04,170 --> 00:10:07,135 li tuża telnet, l-użu li għalihom huwa preskritt fil-spec. 215 00:10:07,135 --> 00:10:09,640 U telnet huwa biss ħafna programm network sempliċi 216 00:10:09,640 --> 00:10:12,660 li ihallik biex nippretendu li tkun browser tieqa waħda 217 00:10:12,660 --> 00:10:14,540 filwaqt li tkellem lill-tieqa oħra. 218 00:10:14,540 --> 00:10:16,830 Dan il-mod inti tista 'tara eżattament il-kmandi testwali 219 00:10:16,830 --> 00:10:18,700 li huma ġejjin lura minn server klijent 220 00:10:18,700 --> 00:10:20,810 mingħajr ma jkollhom poking madwar iżviluppatur chrome l 221 00:10:20,810 --> 00:10:24,010 għodod fi altrimenti interface clunkier. 222 00:10:24,010 --> 00:10:29,099