-- ·|­û / µù¥U -- ¡@
¡@±b¸¹¡G
¡@±K½X¡G
¡@ | µù¥U | §Ñ°O±K½X
3/26 ·s®Ñ¨ì¡I 3/19 ·s®Ñ¨ì¡I 3/14 ·s®Ñ¨ì¡I 12/12 ·s®Ñ¨ì¡I
ÁʮѬyµ{¡EQ & A¡E¯¸°È¯d¨¥ª©¡E«ÈªA«H½c
¢x 3ds Max¢x Maya¢x Rhino¢x After Effects¢x SketchUp¢x ZBrush¢x Painter¢x Unity¢x
¢x PhotoShop¢x AutoCad¢x MasterCam¢x SolidWorks¢x Creo¢x UG¢x Revit¢x Nuke¢x
¢x C#¢x C¢x C++¢x Java¢x ¹CÀ¸µ{¦¡¢x Linux¢x ´O¤J¦¡¢x PLC¢x FPGA¢x Matlab¢x
¢x Àb«È¢x ¸ê®Æ®w¢x ·j¯Á¤ÞÀº¢x ¼v¹³³B²z¢x Fluent¢x VR+AR¢x ANSYS¢x ²`«×¾Ç²ß¢x
¢x ³æ´¹¤ù¢x AVR¢x OpenGL¢x Arduino¢x Raspberry Pi¢x ¹q¸ô³]­p¢x Cadence¢x Protel¢x
¢x Hadoop¢x Python¢x Stm32¢x Cortex¢x Labview¢x ¤â¾÷µ{¦¡¢x Android¢x iPhone¢x
¥i¬d®Ñ¦W,§@ªÌ,ISBN,3dwoo®Ñ¸¹
¸Ô²Ó®ÑÄy¤ÀÃþ

WinSockºôµ¸½sµ{¸gµ¸

( ²Åé ¦r)
§@ªÌ¡G±i·|«iÃþ§O¡G1. -> µ{¦¡³]­p -> ºî¦X
ĶªÌ¡G
¥Xª©ªÀ¡G¹q¤l¤u·~¥Xª©ªÀWinSockºôµ¸½sµ{¸gµ¸ 3dWoo®Ñ¸¹¡G 33206
¸ß°Ý®ÑÄy½Ð»¡¥X¦¹®Ñ¸¹¡I

¡i¯Ê®Ñ¡j
¡i¤£±µ¨ü­qÁÊ¡j

¥Xª©¤é¡G8/1/2012
­¶¼Æ¡G408
¥úºÐ¼Æ¡G0
¯¸ªø±ÀÂË¡G
¦L¨ê¡G¶Â¥Õ¦L¨ê»y¨t¡G ( ²Åé ª© )
¡i¤£±µ¨ü­qÁÊ¡j
ISBN¡G9787121174841
§@ªÌ§Ç¡@|¡@ĶªÌ§Ç¡@|¡@«e¨¥¡@|¡@¤º®e²¤¶¡@|¡@¥Ø¿ý¡@|¡@§Ç
(²Åé®Ñ¤W©Ò­z¤§¤U¸ü³sµ²¯Ó®É¶O¥\, ®¤¤£¾A¥Î¦b¥xÆW, ­YŪªÌ»Ý­n½Ð¦Û¦æ¹Á¸Õ, ®¤¤£«OÃÒ)
§@ªÌ§Ç¡G

ĶªÌ§Ç¡G

«e¨¥¡G

¤Ò¥\¤§¦¨¡A«D¦¨¤_©Ò¦¨¤§¤é¡A»\¥²¦³©Ò¥Ñ°_¡C
¡X¡X¼Ú¶§­×
´¿¸g¦³¹Ú
­è²¦·~®É¡A­±Á{ªº²Ä¤@­«¤j°ÝÃD´N¬O§ä¤u§@¡C¥_¨ÊªºÄvª§¬O«D±`¿E¯Pªº¡A§A¤@©w¬O»â±Ð¹Lªº¡A¦pªGÁÙ¨S¦³¡AÁ`¦³¤@¤Ñ§A·|ª¾¹D¡C§Ú©Ò¾Çªº¬O§Nªù±M·~¡A·Q¦b¥_¨Ê§ä¤@¥÷¹³¼Ëªº¤u§@¬O«D±`Ãøªº¡C©Ò¥H¨M©w§Q¥Î¦b¬ã¨s¥Í´Á¶¡¦Û¾Çªº­pºâ¾÷ª¾Ãѧä¤@¥÷­pºâ¾÷¬ÛÃöªº³æ¦ì¤u§@²¾ú¡A¤]¤£ª¾¹D­n§ä­þ­Ó¤è¦V¡A²¾ú¤W§âª¾¹Dªº¥þ¼g¤W¤F¡A©Û¸u·|¤W¨£¨ì­pºâ¾÷¬ÛÃöªº³æ¦ì´N§ë²¾ú¡A¸g¹L¤FµL¼Æ¦¸ªº³Q©Úµ´¦Z¡A¤Ñ·N««ÅU¡A³Ì¦Z³q¹L¤F¤¤¬ì°|³n¥ó¤¤¤ßªºµ§¸Õ©M­±¸Õ¡A³Q¿ý¥Î¤F¡C
¤J¾¦Z§Ú³Q¤À°t¨ì¤Fºôµ¸¨óij³¡ªù¡AÅU¦W«ä¸q¡A´N¬O¤â¾÷¤WTCP/IP¤Î¬ÛÃöºôµ¸¨óijªº¶}µo¡C³Ì¦­±µÄ²ªº¤u§@´N¬O¥Î®M±µ¤f¡]socket¡^½s¼gµ{§Ç¡A§Ú¬O²Ä¤@¦¸±µÄ²socket¡AÁÙ¤£ª¾¹D¥¦¬O°µ¤°¤\ªº¡A¯íµM¥¢±¹¡C¨ì®Ñ©±¶R¥»®Ñ¬Ý¬Ý§a¡A­W­W´M§ä¤F¤@¤Ñ¡A¤]¨S§ä¨ì¤@¥»¦X¾Aªº¡Cª½±µ¤¶²ÐWinSockªº®Ñ¤Ö¤§¤S¤Ö¡A¥u¯à¥ý¿ï¤@¥»¦^¥h°Ñ¦Ò¡C¥i¬O³o¥»®Ñ¡A¥u¬O¹ïMSDN¤WWinSock¬ÛÃö¨ç¼ÆªºÂ²³æ½Ķ¡A¥[¤W´X­Ó¤p¨Ò¤l¡C¬Ý¤F¤§¦Z¡AÁÙ¬O¤£©ú¥Õ¡A¥é¦ò¤@­Ó°g³~ªº¤H¹J¨ì¤F¤@­Ó¦Ñ¶m¡A¤W«e°Ý¸ô¡A«o«ç¤\¤]»¡¤£²M·¡¡C§Ú»Ý­nªº¤£¬O¹ï¨ç¼ÆªºÂ²³æ»¡©ú¡A¦Ó¬O«ç¼Ë§âsocket´£¨Ñªº±µ¤f¨ç¼Æ¦³¾÷µ²¦X°_¨Ó¡A½s¼g¤@­Ó¾A¥Îªººôµ¸µ{§Ç¡C
¤_¬O§Ú¨M©w¼g¤@¥»³o¼Ëªº®Ñ¡C¤Q¦~¨Ó¡A§Ú¾Ç²ß¤F¤W¤d­¶ªººôµ¸§Þ³N¼Ð·Ç¡]RFC¡BOMA §Þ³N³W­Sµ¥¡^¡B´X¦Ê½gªº½×¤å¡B¤G¦Ê¦h¥»ªº§Þ³N©M«D§Þ³N®ÑÄy¡B±K±K³Â³Âªºµ§°O¡AµL¼Æ³·ªá¯ë¯É­¸ªº¯È­¶¡A²×¤_¶×»E¦b¤@°_¡A´N¬O§A¤µ¤Ñ®³¨ìªº³o¥»®Ñ¡C
³ÕÄý¸s®Ñ¡B¤é¿n¤ë²Öªºº¥®©¤§¦Z¡A«Ü¦h­ì²z¡B³W­S¡A²{¦b¬Ý¨Ó³£¬O²z©Ò·íµMªº¡C¦ý§Ú¦}¨S¦³§Ñ°Oªì¾Ç®Éªºµh­W¡B§x´b¡A¬°¦¹¡A§â§Ú¾Ç²ß¹Lµ{¤¤ªº¤ß±o®ï¹ê¦a°O¿ý¤U¨Ó¡A¬°¦Z¾ÇªÌ¾Q´N¤@±ø³q©¹ª¾ÃÑ°ª®pªº¹D¸ô¡C
¼g§@¤@¥»socketºôµ¸½sµ{ªº®Ñ¡A¬O§Ú¦h¦~ªº¹Ú·Q¡C¼g§@ªº¹Lµ{¬OÁ}¨¯ªº¡A§Ú¨S¦³¾ã¶ôªº®É¶¡¨Ó¤ä°t¡A¥u¯à¨C¤Ñ¼g¤@ÂI¨à¡A¦³®É¬Æ¦Ü´X­Ó¬P´Á¤]¨S¦³®É¶¡¼g¡A¶i«×«D±`ºC¡C¦Ó¥BÀHµÛ¤u§@¶V¨Ó¶V¦£¡A¥i¤ä°tªº®É¶¡¶V¨Ó¶V¤Ö¡A´¿´X¦ó®É¡A³o¦ü¥G¤w¸g»»¤£¥i¤Î¤F¡C
³uªÌ¦p´µ¤Ò¡A²ñ²ñ¾Ç¤l¤w¸g¤H¨ì¤¤¦~¡A®Þ¬~®É¡A±`±`¾®±æÃ褤ªº§Ú¡A¨âÆK¤w¦³¤F´³¥Õªºµo¡C©¿µM·|°O°_ÁÙ¨S¯à¹ê²{ªº¹Ú·Q¡A¤ß¤¤¯F¥X¤@ºØµLªk¸ÑÄÀªº´d¶Ë¡C·t·t¹ª°_«i®ð¡BÁÙ¬O§V¤O°í«ù¡A²×¤_¡A¨«¹L¤F³ÌÁ}Ãøªº·³¤ë¡A§â³o¥»®Ñ¼g§¹¤F¡A±N»P¼s¤jŪªÌ¤@°_®Þ²zWinSockºôµ¸½sµ{ªº¸gµ¸¡C
³o¥»®Ñªº¼g§@¡A90%¥H¤Wªº®É¶¡³£¬O¦b©]¨½§¹¦¨ªº¡A¼g§@ªº®É¶¡¤@¯ë¬O±ß¤W9ÂI¦Ü²`©]1ÂI¡C¸g±`¬O¼g²Ö¤F¡A½ö¦b§É¤W¥ð®§¤@·|¨à¡A¤£ª¾¤£Ä±´NºÎµÛ¤F¡C¿ô¦Z¡A¿OÁÙ¦b«GµÛ¡A¹q¸£ÁÙ¨S¦³Ãö¡A¤_¬O¤S±µµÛ¼g¡K¡K±`±`¡A¦bÀRÀRªº¤È©]¡A§ä´M³Ð§@ªºÆF·P¡A«o¦bºÎ¹ÚÅå¿ô®É¡AÅZµM¿h¨£µ´¬üªº¤ë¥ú¡C
§Ú§Æ±æ¬°ÅªªÌ©^Äm¤@®àWinSock½sµ{ªºÅ¹ÃK¤jÀ\¡A¦ý¨C­Ó¤Hªº­G¤f³£¤£¤@¼Ë¡A»Ý­n«~¹Á¦Z¤è¤~ª¾¹D¬O§_¾A¦X§A¡CºÉ§^§Ó¤]º¸¤£¯à¦ÜªÌ¡A¥i¥HµL®¬¨o¡A¨ä±E¯àÃÕ¤§¥G¡H
¡§¦b§Ú¤ß¤¤¡A´¿¸g¦³¤@­Ó¹Ú¡A­n¥Î¥»®ÑÅý§A§Ñ¤Fºôµ¸½sµ{ªºµh¡AÀéÄê¬PªÅ¡A½Ö¬O¯uªº­^¶¯¡K¡K¡¨
¼g§@­·®æ
¼g§@¹Lµ{¤¤¡A°Ñ¦Ò¤F¤j¶qªº­^¤å¤åÄm¡A­pºâ¾÷®ÑÄy¤¤³Ì¤jªº¾\Ū»Ùê¦b¤_³\¦h§Þ³N¦Wµü©Î±M·~³N»y¨S¦³¼Ð·ÇªºÄ¶¦W¡A¤j¶qªºÄ¶§@©ÎµÛ§@³£«ö¦Û¤vªº²z¸Ñ¨Ó½Ķ¡Aµ²ªG³y¦¨ÅªªÌªº§x´b¡A¬Æ¦Ü¤£ª¾©Ò¤ª¡C
§Ú¬O¤@¦W³n¥ó¤uµ{®v¡A¦h¦~±q¨Æ³n¥ó¶}µo¡A¥H¾\Ū­^¤å¤åÄm¬°¥D¡A§Æ±æ³o¥»®Ñ¤¤¥X²{ªº¦Wµü©Î³N»y¤£µ¹¦U¦ì³y¦¨°g´b¡AŪ¨Ó³q¶¶¬yºZ¡C¦b¨C¤@­Ó¦Wµü©Î³N»y¥X²{¤§³B¡A­º¥ý¬O¥þºÙ¤ÎÁY¼g¡A¦Z­±µ¹¥X¤F½Ķ¡A³o¤\°µ¤£¬Oµe³D²K¨¬¡A¥u¬O¤è«KŪªÌ¹ï·Ó¾\Ū¡Aª¾¹D­ì©l¤º®e¬°¦ó¡C¤]¯àÅý¦³±´¯Áºë¯«ªºÅªªÌ¥h¥J²Ó·r§O¡A¸U¤@¬O§Ú¿ù¤F©O¡A¤H«D³óµÏ¡A½Ö¯àºÉµ½¡H
¤å¤¤¥X²{ªº³\¦h¤Þ¥Î¡A§Y¨Ï¦³¦h¥»µÛ§@³£¬O¨º¤\¼gªº¡Aµ§ªÌÁÙ¬O·|¤£Ã㨯­W¦a¬d§ä­ì©l°Ñ¦Ò¤åÄm¡A¥H¤F¸Ñ¥¦³Ìªìªº·N¸q¡A¤]¥HÃhºÃ©M§å§PªººA«×®Õ¥¿¨º¨ÇµÛ§@¤¤¥i¯à¥X²{ªº¿ù»~¡C
³N»yIEN¡A¦b«Ü¦hTCP/IP©ÎªÌºôµ¸¬ÛÃöªº®ÑÄy¤¤¡A¦p¡G¡mTCP/IP«ü«n¡]¨÷1¡^¡A©³¼h®Ö¤ß¨óij¡n©M¡m¥ÎTCP/IP¶i¦æºô»Ú¤¬Áp¡A²Ä¤@¨÷¡G­ì²z¡B¨óij»Pµ²ºc¡n³£³Q¼g¬°Internet Engineering Notes¡A½Ķ¬°¡§¤¬Ápºô¤uµ{«Kºà¡¨¡C³o¨â¥»®ÑÁöµM³£¬O³o¤@»â°ì¤¤ªº¸g¨å¤§§@¡A¦ý§@ªÌ¦}¨S¦³¦]¦¹¦Ó²³æ¦aª¼±q¡C¥ý¦bºô¤W·j¯Á³o¤@³N»yªº¥X³B¡A¨S¦³§ä¨ì¡A·Q¨ì¬JµM³o¬Oºôµ¸¦­´Áªº¤åÀÉ¡AÀ³¸Ó¦b³Ì¦­ªºRFC¤¤¦³¡A¤_¬O¾\Ū¤F¦h½gRFC¡Aµo²{¦b¤Þ¥Î³B¤]¬O¥u¦³ÁY¼g¡A¨S¦³¥þºÙ¡A¦Z¨Ó²×¤_¦b¤@½g´y­zRFC¾ú¥vªº¤åÀÉRFC 2555¤¤§ä¨ì¤F¥¦ªº¥þºÙInternet Experiment Notes (IEN)¡A¦b¤å¤¤§Ú§â¥¦Ä¶¬°¡§¤¬Ápºô¹êÅç°O¿ý¡¨¡C¨Æ¤£¥Ø¨£¦Õ»D¡A¦ÓÁrÂ_¨ä¦³µL¡A¥i¥G¡H
ŪªÌ¹ï¶H
®³¨ì³o¥»®Ñ¡A¬Û·í¤_½Ð¤F¤@¦ì»²¾É¦Ñ®v¡C®Ñ¤¤ªº¤º®e¬O«ö·Ó·s¤âªº¾Ç²ß¹Lµ{¦w±Æªº¡A´`§Çº¥¶i¡A¥ýÁ¿°ò¦ª¾ÃÑ¡B³]­p­ì²z¡A¦AÁ¿µ{§Ç³]­p¡A¦}¹ïµ{§Çªº¥N½X³v¦æÁ¿¸Ñ¡C¹ï¤_¨C­Óª¾ÃÑÂI¡AºÉ¶q´£¨Ñ¨¬°÷ªº«H®§¡A¨Ï¥¦¯à°÷³Qµy·L¦³¨Çµ{§Ç³]­p¸gÅ窺µ{§Ç­û©Ò±µ¨ü¡C©w¦ìªºÅªªÌ¹ï¶H¬Oªì¡B¤¤¯ÅC¡BC++ºôµ¸µ{§Ç­û¡C¥u­n´x´¤¤FWinSock¦U­Ó¨ç¼Æªº¥¿½T¥Îªk¡A§Y¨Ï¤£§¹¥þ²z¸Ñ©³¼h¨óijªº¹B§@­ì²z¡A¤]¤£§«Ãª§A³]­p¤@­Ó¥¿½Tªººôµ¸µ{§Ç¡C
¹ï¤_°ª¯Åªººôµ¸µ{§Ç­û¡A¥»®Ñ¤]­È±o­Éų¡Cµ{§Ç¤¤¥Î¨ìªº¨C¤@­ÓWinSock¨ç¼Æ¡A§Ú³£½s¼gµ{§Ç°µ¤F³\¦h´ú¸Õ¹êÅç¡A¥H¤F¸Ñ¥¦ªº¹ê²{¾÷¨î¡A¥æ¤¬­ì²z¡A¦}«ü¥X¤F¤@¨Ç¨ç¼Æ¦s¦bªº³´¨À¡C®Ñ¤¤´£¨Ñªº¬O¹ï©³¼h¨óij¤ÎWinSock½sµ{¨C¤@­Ó§Þ³N²Ó¸`ªº²`¤J¬ã¨s¡A³\¦h¥DÃD¦b¥Ø«e¥Xª©ªº¦PÃþ®ÑÄy¤¤¬O¨S¦³ªº©ÎªÌ¦³¤]¨S¦³¥»®Ñ²`¤J¡C¨þ¨þ¡A¯uªº¡I¤u§@ªº«e¥|¦~¤º§Ú´N¦b·~§E®É¶¡¾\Ū¤FXinu¡BFreeBSD¤ÎLinux¾Þ§@¨t²ÎªºTCP/IP¤Îsocket·½¥N½X¡A¦Ó¥B«Ê¸Ë¹L¦h­Ó¥­»Oªºsocket½sµ{±µ¤f¡A³o­Ó»â°ì¡AÁ|¥Ø¥|±æ¡A¤@Äý²³¤s¤p¡C»P¨ä¥L®ÑÄy¤£¦Pªº¬O¡A®Ñ¤¤¤£¶È¤¶²Ð¥¿½Tªº¸ÑÃD¤èªk¡A¤]·|§i¶D§A§Ú¨«¹Lªºª[¸ô¡A§Ú¤w¸g¶^­Ë¤F¤@¦¸¡A§A´N¤£¥²¦A¸g¾ú¦P¼Ëªºµh­W¤F¡C
¾Þ§@¨t²Î·íµM­n¥ÎWindows¤F¡A®Ñ¤¤ªºµ{§Ç³£¦bWindows XP©MVista¤W°µ¤F´ú¸Õ¡C½s½X¡B½sĶ¡B½Õ¸Õµ{§Ç¨Ï¥Îªº¬OVisual C++ 6.0¶°¦¨¶}µoÀô¹Ò¡C¾\Ū¥»®Ñ¡A»Ý­nŪªÌ¨ã³ÆC»y¨¥ªº°ò¥»ª¾ÃÑ¡A¦Ü¤Ö¬Ý¹L¤@¡B¨â¥»C»y¨¥®ÑÄy¡C¥»®Ñ¤£·|¤¶²ÐC»y¨¥ªº¼Æ¾ÚÃþ«¬¡Bªí¹F¦¡¡B»yªk³W«hµ¥¡A°²³]§A¤w¸g¥i¥H¼ô½m¨Ï¥ÎC»y¨¥¡A¦}¥Î¥¦½s¼gµ{§Ç¡C¹ïC»y¨¥ÁÙ¤£¼ô±xªºÅªªÌ¡A¥i¥H°Ñ¦ÒBrian W.Kernighan, Dennis M. Ritchie½s¼gªº¡mC»y¨¥µ{§Ç³]­p¡n©MPeter Van Der Lindenªº¡mC±M®a½sµ{¡n¡A¥¦­Ì³£¬O¾Ç²ßC»y¨¥«Ü¦nªº°Ñ¦Ò¸ê®Æ¡C³Ì¦Z´X³¹¦bÁ¿¸ÑWinSock²§¨B½sµ{®É¡A·|¥Î¨ìWindows SDK¡A®Ñ¤¤¹ï¥ÎWindows SDK½sµ{°µ¤F²³æªº¤¶²Ð¡A¨¬¥HÅý§A²z¸Ñ¬ÛÃöªº¨Ò¤l¡C·Q¹ïWindows½sµ{¦³§ó²`¤Jªº²z¸Ñ¡A¥i¥H°Ñ¦ÒCharles Petzoldªº¡mWindowsµ{§Ç³]­p¡n¡A¤w¸g¥Xª©¨ì²Ä¤­ª©¡A³QÅA¬°Windows½sµ{Éo¸g¡C
¤º®e¤¶²Ð
®Ñªº¦W¦r¤w¸g°µ¤F¦Û§Ú»¡©ú¡A¥D­nÁ¿¸ÑWinSockºôµ¸½sµ{¡CWinSock¬OWindows¾Þ§@¨t²Î¤Wªººôµ¸½sµ{±µ¤f¡A°ò¤_BSD socket¼Ò«¬¡C¥¦¥]§t¤F»PBSD socket¦P¦Wªº±µ¤f¨ç¼Æ¡A¥Îªk»PBSD socket½sµ{±µ¤f¬O¤@­Pªº¡A¦ý¬°¤F¥R¤À§Q¥ÎWindowsªº¯S©Ê¡Aµ²¦XWindowsªº®ø®§¾÷¨î¡AWinSock¼W¥[¤F³\¦hÂX®i¨ç¼Æ¡C
WinSock¦³¨â­Óª©¥»¡A1.1©M2.2¡A1.1¦b1993¦~µo¥¬¡A¥u¤ä«ùTCP/IP¨óij´Ì¡A1996¦~µo¥¬¤F2.2¡A¥¦§¹¥þ­Ý®e1.1¡A¦ý¥¦¤ä«ù¦hºØ¨óij¡A¬O1.1ªº¤@­Ó¶W¶°¡CWinSock 2.2´£¨Ñ¤F¿W¥ß¤_¨óijªº¶Ç¿é±µ¤f¡A¯à°÷¤ä«ù¦hºØ¨óij¡A¦pOSI¡BNovel IPX/SPX¡BDigital ¡¦s DECNetµ¥¡C¦Ó¥B¤¹³\¥Î¼Ð·Çªº¤èªk¼W¥[·sªº¨óij¡C
¥»®ÑÁ¿¸ÑªºWinSockª©¥»¬O2.2¡A¦ý¤£¬O¤¶²ÐWinSock 2.2³W­S¤¤¦C¥Xªº©Ò¦³API¡A¦Ó¥D­n»¡©úªº¬O2.2 ª©¥»¤¤»P1.1­Ý®eªº³¡¤À¡C®Ú¾Úµ§ªÌªº¹ê½î¸gÅç¡AWinSock 1.1§¹¥þº¡¨¬¤@¯ëªººôµ¸À³¥Î¶}µo¡A¨ì¥Ø«e¬°¤î§ÚÁÙ¨S¦³¹J¨ì¤@©w­n¥ÎWinSock 2.2·s¼W¥[ªºAPI¤~¯à¸Ñ¨Mªº°ÝÃD¡C­«­nªº¬OWinSock 1.1»PBSD socket°ò¥»¤W¬O­Ý®eªº¡A¦Ó2.2ª©¥»¤¤·s¼W¥[ªºAPI»PBSD socket§¹¥þ¤£­Ý®e¡Cºôµ¸¤W¦³«Ü¦h°ò¤_Linux©ÎUNIX¨t²Îªº¶}·½¶µ¥Ø¡A³o¨Çµ{§Ç¤¤¯A¤Îºôµ¸³¡¤Àªº·½¥N½X¨Ï¥Îªº³£¬OBSD socket¡A·í§â¥¦²¾´Ó¨ìWindows¨t²Î¤W®É¡A¨Ï¥Îªº³£¬OWinSock 1.1´£¨ÑªºAPI¡C
®Ñªº¤º®eÁ`Åé¤W¤À¬°¨â¤j³¡¤À¡Gºôµ¸°ò¦©Mµ{§Ç³]­p¡C
ºôµ¸°ò¦³¡¤À¥ýÅý¤j®aª¾¹D¤°¤\¬Oºôµ¸¡A¥¦ªº¥\¯à¬O¤°¤\¡Aºôµ¸ªº¤ÀÃþ¡B¥æ´«§Þ³N¤Î°Ñ¦Ò¼Ò«¬¡C¦³¤FÁ`Å骺»{ÃѦZ¡A­«ÂIÁ¿¸Ñ¤¬Ápºô¤¤³Q¼sªx¨Ï¥ÎªºTCP/IP¨óij¡A¥¦¬O¾ã­Ó¤¬Ápºô±o¥H¹B¦æªº°ò¦¡C®Ñ¤¤·|»¡©úTCP/IP¨óijªº¼Ð·Ç¤Æ¹Lµ{¡B¼Ò«¬¡B¬[ºcµ¥¡CÀH¦Z¦b¨C¤@³¹¤¤¤À§O¤¶²ÐTCP/IP¨C¤@¼h©Ò¨Ï¥Îªº¨óij¡C
µ{§Ç³]­p³¡¤À¥ý¤¶²ÐWinSockªº°ò¦ª¾ÃÑ¡AWinSockªºª©¥»¡B»PBSD socketªº®t§O¡B½sµ{¼Ò«¬¡C¦A¤¶²Ð¤@¨Ç±`¥ÎªºÂà´«¨ç¼Æ¤Î°ì¦W¸ÑªR¡A³o¨Ç¬O¦Z­±µ{§Ç³]­p³Ì±`¥Îªº¤u¨ã¨ç¼Æ¡C±µ¤U¨Óªº´X³¹¬O®Ú¾ÚWinSockªº¯S©Ê¤À§OÁ¿¸Ñ¡A¦pTCP¡BUDP¡B­ì©l®M±µ¤f¡B¦h¼½¡B¼s¼½µ¥¡A¨C¤@³¹³£¬O¥ý¤¶²Ð°ò¥»­ì²z¡A¦Aµ¹¥X¨Ò¤lµ{§Ç¡A¦}¹ïµ{§Ç°µ¸Ô²Óªº»¡©ú¡C
¥»®Ñ¯S¦â
¼g§@ªº­«ÂI¬O­n±Ð§A¦p¦ó³]­p¤@­Ó¹ê¥Îªººôµ¸µ{§Ç¡A¦pªG§A·Q¯u¥¿²z¸Ñ¤¬Ápºôªº¤u§@­ì²z¡A¦}·Q¶}µo¥X¦b¤¬Ápºô¤W¹B¦æªºÀ³¥Îµ{§Ç¡A½Ð¿ï¾Ü¥»®Ñ¡C¦pªG§A·Q­n¦Û¤v·f«Øºôµ¸¡A§â®a¤¤©Î¤½¥qªºPC©ÎªA°È¾¹³s±µ°_¨Ó¡A¥»®Ñ¤£¾A¦X§A¡C
§@¬°¤@¦W¤u§@¦h¦~ªºµ{§Ç­û¡A§Ú¤]¤@ª½¦b¤£Â_¦a¾Ç²ß·sªºª¾ÃÑ¡A§Ú¹ï¦Û¤vªº­n¨D¬O¤u§@¤§¥~¨C¦~¦Ü¤Ö¾\Ū¤Q¤G¥»§Þ³N®ÑÄy¡A¤@­Ó¤ë¤@¥»¡C²`ª¾ªì¾ÇªÌ¾Ç²ß·sª¾ÃѮɹJ¨ìªº¦UºØ§xÃø¡B°g´b¡A©Ò¥H¥»®Ñ«ö·Óªì¾ÇªÌªº¾Ç²ß¹Lµ{¦w±Æ¡A¹ï¨óijªº­ì²z¡B¨ç¼Æªº¥\¯à¡Bµ{§Çªº¥N½X³£°µ¤F«D±`¸ÔºÉªº¤¶²Ð¡C°O±o§Ú¦bŪºâªk³]­p®Ñ®É¡A¦³®É®Ñªº§@ªÌ²z©Ò·íµM¦a´Nµ¹¥X¤Fµ²½×¡A¥i¬O§Ú«ç¤\¤]¤£©ú¥Õ¡A¤Ï´_¾\Ū¡B¥J²Ó±ÀºV¦Z¤~²×¤_¿ô®©¡A­ì¨Ó¦p¦¹¡C³o¨Ç®Ñªº§@ªÌ³£¬O³o¤@»â°ìªº±M®a¡A¦³«Ü¦h¹ï¥L­Ì¨Ó»¡¬O¨¬°÷²³æªº°ÝÃD¡A¥iŪªÌ«o¥¼¥²©ú¥Õ¡C©Ò¥H¥»®Ñ¹ç¥i?¶Û¤@¨Ç¡A¤]¤£º|±¼¨C¤@­Ó²Ó¸`¡C
²z½×»P¹ê½îµ²¦X
­pºâ¾÷§Þ³N¬J¨ã¦³«Ü±jªº²z½×©Ê¡A¤S¨ã¦³«Ü±jªº¹ê½î©Ê¡C­n¨D§Ú­Ì´x´¤¦n²z½×ª¾ÃÑ¡A¦}§â¥¦À³¥Î¨ìµ{§Ç³]­pªº¹ê½î¤¤¥h¡A¦b¹ê½î¤¤µo²{°ÝÃD¡B¸Ñ¨M°ÝÃD¡C³Ì¦³®Äªº¾Ç²ß¤èªk´N¬O¹ê½î¡Cµ{§Ç³]­p½g³¹¤¤´£¨Ñ¤F³\¦h¥Ü¨Ò¡A¦³ªA°È¾¹µ{§Ç¡A¤]¦³«È¤áºÝªº¡AŪªÌ¥i¥H¥ý¹B¦æµ{§Ç¡A¬Ý¤@¤U¹ê»Úªº®ÄªG¡A¦³¤F·P©Êªº»{ÃѦZ¡A¦A¾\Ū¥N½X¡B½Õ¸Õµ{§Ç©ÎªÌ­×§ï¥N½X¨Ó´ú¸Õ¤@¨Ç¨ç¼Æªº¦æ¬°¡A¦b¹ê½î¤¤´£°ªµ{§Ç³]­pªº¯à¤O¡C
¸g¨åÀ³¥Î
¤¬Ápºôµo®iªº¹Lµ{¡A¬°¤Fº¡¨¬¤£¦Pªº»Ý­n¡A¨î©w¤F¦UºØ¦U¼Ëªº¨óij¡C®Ñ¤¤ªº¥Ü¨Ò¤£¬OÀH·N½s³yªº¡A¦Ó¬O¿ï¾Ü¹ê¥Îªººôµ¸µ{§Ç¡A¦pPing¡BTraceRouteµ¥¡A©Î¿ï¨ú¼Ð·Çªººôµ¸¨óij¡A¦pECHO¡BDaytime¡BFinger¡BHTTP¡BFTPµ¥¡A¥¦­Ì³£¬O¬°¤F»²§UŪªÌ²z¸ÑWinSockªº¥\¯à¡C¥t¥~¡A¿ï¥Î³o¨Ç¨óij¤]ÂX®i¤Fª¾ÃÑ­±¡AÅýŪªÌ²z¸Ñ¤¬Ápºô¤W¤@¨Ç¼Ð·Ç¨óijªº¤u§@­ì²z¡A¦p¡GSNTP¡BFTP¡BHTTPµ¥¡A¬O¥Ø«e¤´µM³Q¼sªx¨Ï¥Îªººôµ¸¨óij¡C®Ñ¤¤Â²¤Æ¤F³\¦h²Ó¸`¡A¥u«O¯d¨óij³Ì¥»½èªºªF¦è¡A¥ÎºÉ¶q¤Öªº¥N½X¹ê²{³o¨Ç¨óij¡A´x´¤¤F³o¨Çª¾ÃÑ¡A§A¤]´Nª¾¹D¯u¥¿ªº¨óij¬O¦p¦ó¤u§@ªº¤F¡C³o¦b·í«e©Ò¥Xª©ªº¦PÃþ®ÑÄy¤¤¬O¨S¦³ªº¡A¥»®Ñ¶ñ¸É¤F³o¤@»â°ìªºªÅ¥Õ¡C
¸Ô²Óªº´¡¹Ï
¬°¤FÀ°§UŪªÌ²z¸Ñ½sµ{¼Ò«¬¡B¨óij­ì²z¡Bµ{§Ç¬yµ{¡A®Ñ¤¤Ã¸¨î¤F¤j¶qªº´¡¹Ï¡A´X¥G¨C¤@³¹³£¤£¤Ö¤_¨â´T¡C¹Ïªº¤U¤è¦³Â²µuªº¤å¦r»¡©ú¡AÅýŪªÌ§Ö³t¤F¸Ñ¹Ïªº§t¸q¡C®Ñ¤¤¤]¹ï¹Ï¦³»²§Uªº¤å¦r´y­z¡AÀ°§UŪªÌ²z¸ÑÃøÀ´ªº·§©À¡C
·P®¦ªº¤ß
¼g§@¹Lµ{¤¤¡AÀs­¸»ñ»R¡A¥u¨D¥ý§â«ä·Qªí¹F¥X¨Ó¡C¼g§¹¤F¡A·Q¨ì®Ñ¤@¥¹¥I±ê¥Xª©¡A¤£ª¾­±¹ï¦h¤ÖŪªÌ¡A¤@ÂIÂIªº¿ù»~¤]·|¤Þ°_»~¸Ñ¡A¬°¤F¤£»~¤H¤l§Ì¡AÃhµÛ§ÙÄߧٮ£ªº¤ß±¡¡A¤S±qÀY¦Ü§À¥J²Ó¦a®Õ¹ï¡A§ï¥¿¤F­Y¤z«÷¼g¿ù»~¡C¨C¦¸µo²{¿ù»~ªº®É­Ô¡A§Ú³£¥ç³ß¥ç¼~¡A³ßªº¬O®Ñ¤¤ªº¿ù»~¤S¤Ö¤F¤@­Ó¡A¼~ªº¬O¤£ª¾ÁÙ¦³¦h¤Ö¿ù»~¨S¦³µo²{¡C©Ò¦³ªºµ{§Ç½s¼g§¹¡A³£°µ¤F¥J²Óªº´ú¸Õ¡A½T«O¥¦­Ì¥i¥H¥¿½T¹B¦æ¡C
§@ªÌ¤w¸g¦b³o¤@»â°ì²`¯Ñ¦h¦~¡A¦ý¤¬Ápºô¬O¤@­ÓÃe¤jªºª¾ÃÑÅé¨t¡ARFCªº½s¸¹¤w¸g¨ì¤F6400¦h¡A§Ú©Ò´x´¤ªº¥u¬O¨ä¤¤ªº¤@¤p³¡¤À¡CWinSock¤£¬O¶}©ñ·½¥N½Xªº¡A§Ú¨S¦³¾Ç²ß¹L¥¦ªº·½¥N½X¡A®Ñ¤¤ªº«Ü¦hµ²½×³£¬O³q¹L¹êÅç±o¥Xªº¡C§Ú©Ò°µªº¤]¤£¬O¶}³Ð©Êªº¤u§@¡A¥u¬O§â«e¤H¸Ñ¨Mªº°ÝÃD¦V¤j®aÁ¿²M·¡¦Ó¤w¡C§^¥Í¤]¦³²P¡A¦Óª¾¤]µL²P¡C¥Ñ¤_µ§ªÌ¯à¤O©M¤ô¥­ªº­­¨î¡A®Ñ¤¤Ãø§K·|¦³¯Äº|©M¿ù»~¡A½ÐŪªÌ§åµû«ü¥¿¡C
¥H«e¾\Ū®ÑÄy®É¡A§Öªº¤@¨â©P´N¬Ý§¹¤F¡AºCªº¤]´N¤­¤»©P¡A±q¨S·Q¹L§@ªÌªº¨¯­W¡C·í¦Û¤v¶}©l¼g§@®É¡A¤~µo²{³o¬O¤@­ÓÁ}¨¯¡Bº©ªøªº¹Lµ{¡A»Ý­n¦³«ù¤[ªºùڤߡB°í±jªº¼Ý¤O¡C¸g¹L¤F¤£ª¾¹D¦h¤Ö­Óº©º©©t±Iªº¶Â©]¡A¦³®É³s§Ú¦Û¤v³£¤£ª¾¹D¥»®Ñ¬O§_ÁÙ¯à°÷§¹¦¨¡C
¤µ¤Ñ§A®³¨ì¤F¥¦¡A¾\Ū¥»®Ñ¡A·í§A¹J¨ì¿ù»~®É¡A½Ðµ¹§Ú¤@­Ó·Å·xªº¯º®e¡B¤@Áû¼e®eªº¤ß¡C¦P¬O¤H¡A¬Ò»Ý·R¡CÅwªï§A¹ï¥»®Ñªº¤º®e´£¥X«Ø³]©Êªº«Øij¡A¤ÏõXµ¹§Ú¡A¤£ºÞ¬O©ê«èÁÙ¬OºÙÃÙ¡A§Ú±NªYµM±µ¨ü¡A¦}¦^µª»P¨Ï¥Î¥»®Ñª½±µ¬ÛÃöªº°ÝÃD¡A¥i³q¹L¤U­±ªº¦a§}»P§ÚÁp¨t¡Gzhang.huiyong@yahoo.com¡C
±q¤p¨ì¤j§Ú­Ì¾\Ū¤FµL¼Æªº®ÑÄy¡A±q³o¨Ç®Ñ¨½§Ú­ÌÀò¨úª¾ÃÑ¡B¼Wªø¨£ÃÑ¡C¦b¨C­Ó¤H¦¨ªøªº¹Lµ{¤¤¡A³£¦³¨º¤\¦h¤£´¿¼ôÃѪº§@ªÌÀqÀq¦a©^ÄmµÛ¡C·Q¨ì¦³¤@¤Ñ¡A¦Û¤v¨ã³Æ¤F³o¼Ëªº¯à¤O¡A¤]­n§â§Ú©Òª¾¹Dªº¦^õXµ¹ªÀ·|¡A¤µ¤Ñ²×¤_¦³¤F¤@­Ó³o¼Ëªº¾÷·|¡C2¤ëªº¥_¨Ê¡Aµ¡¥~¨ÌµM´H§N¡A¦ý§Úªº¤ß¨½«o¥Rº¡¤F¬K¤Ñªº®ð®§¡I
¦pªG»¡¤µ¤Ñªº§Ú¤w¸g¨ú±o¤F¤@ÂI¦¨ÁZ¡A¨º¬O¥À¿Ë¥Î¦o¨¯¶Ôªº¦½¤ô¬°§Ú¾Q´N¤F«e¶iªº¶¥±è¡A·PÁ¦oµ¹§ÚªºµL¨p¦Ó°¶¤jªº¥À·R¡C·PÁ©d¤l¡A¤À¾á¤F³\¦h®a°È¡AºÉ¤ß¦a»²¾É¤k¨à¡AÅý§Ú¯à°÷§V¤O¤u§@¡B±M¤ß¼g§@¡C¦b¤H¥Íªº¹D¸ô¤W§Ú­Ì¬ÛÌû¥HÀã¡A¬ÛÀá¥Hªj¡C·PÁ¤k¨à¡A¦oªº¥X¥Í¨Ï§ÚÀ´±o¤F°µ¤÷¿Ëªº³d¥ô¡A¬ÝµÛ¦o¤@¤Ñ¤Ñªºªø¤j¡A¤ß¨½¬v·¸µÛ©¯ºÖ¡A»P¦o¦b¤@°_¡AÁ`¬O§Ú³Ì§Ö¼Öªº®É¥ú¡C
±i·|«i
2012.2¤_¥_¨Ê¤¤Ãö§ø
¤º®e²¤¶¡G

¥»®Ñ¥ÎWinSock§@¬°¶}µo¤u¨ã¡A¥H¨å«¬À³¥Î©M¼Ð·Ç¨óij¬°¥Ü¨Ò¡A¦V±z¤¶²Ð¦p¦ó¶i¦æ¦UºØºôµ¸À³¥Îµ{§Çªº³]­p¡A¤£¶È¹ê²{¤F«È¤áºÝµ{§Ç¡A¤]¹ê²{¤FªA°È¾¹µ{§Ç¡C¥ÎºÉ¶q²¼äªº¥N½X´¦¥Ü³o¨ÇÀ³¥Îµ{§Çªº¥»½è¡A¹ïWinSockªº¤£¦P¯S©Ê°µ¤F¸Ô²Óªº¤ÀªR¡C
¡@¡@¿ï¾Üªº¥D­n¨óij¦³¡GEcho¡BPing¡BTraceroute¡BDaytime¡BBootp¡BMSG¡BSNTP¡BFinger¡BHTTP¡BFTPµ¥¡A³o¨Ç¨óij´¿¦ñÀH¹L¤@¥Nµ{§Ç­û§V¤O±´¯Áªº®É¥ú¡A¤µ¤Ñ¤S¹³¦ÑªB¤Í¤@¼Ë¤@­Ó­Ó¦a±q»·¤è¦V§A¨«¨Ó¡C¥¦­Ì¦³ªº¤w¸gÁôÂäFÂܸñ¡A¦¨¤F¤@¬q¹Ð«Êªº¾ú¥v¡F¦³ªº¤Þ¤J·sªº¾÷¨î¡A³q¹Lª©¥»§ó·s¡A¤´³Q¼sªx¨Ï¥Î¡CµL½×¦p¦ó¡A¤F¸Ñ¥¦­Ìªº³]­p­ì²z¡B¤u§@¬yµ{¡B³q«H¾÷¨î¯àÅý§A¹ïWinSockºôµ¸µ{§Ç³]­p¦³§ó²`¤Jªº¸ÑŪ¡C¾Ç²ß¡B¬ã¨sInternet¤¤¦¨¼ôªººôµ¸¨óij¡A¬O§A§Þ³N¤W¤£Â_¶i¨Bªº°ò¥Û¡A¦V¤WÃkµnªº¶¥±è¡C

¥Ø¿ý¡G

²Ä1³¹ Echo«È¤á/ªA°È¾¹µ{§Ç 1
1.1 ²¤¶ 1
1.2 ºôµ¸µ²ºc¼Ò«¬ 1
1.2.1 ¶°¤¤¦¡¨t²Î 1
1.2.2 ¤À¥¬¦¡¨t²Î 2
1.3 Echo«È¤áµ{§Ç 5
1.4 EchoªA°È¾¹µ{§Ç 9
1.6 ¤pµ² 12
1.6 ³N»y¹ï·Ó 12
²Ä2³¹ TCP/IPÅé¨tµ²ºc 13
2.1 ³N»y 13
2.2 ¾ú¥v 15
2.3 ¼Ò«¬ 19
2.3.1 ºôµ¸±µ¤f¼h 19
2.3.2 ºôµ¸¼h 20
2.3.3 ¶Ç¿é¼h 20
2.3.4 À³¥Î¼h 21
2.4 ¬[ºc 21
2.5 ¼Æ¾Úªºªø©º 23
2.5.1 ¼Æ¾Ú«Ê¸Ë 23
2.5.2 ¼Æ¾Ú¤À¥Î 25
2.6 ¼Ð·Ç¤Æ 26
2.6.1 ¤¬Ápºô¼Ð·Ç 27
2.6.2 ·í«e³Ì¦nªº¹ê½î 28
2.6.3 «D¼Ð·Ç¸òÂܳW­S 28
2.6.4 ¼Ð·Ç¤Æ¹Lµ{ 29
2.7 ¤pµ² 29
2.8 ³N»y¹ï·Ó 30
²Ä3³¹ ¤¬Ápºô¨óij¡X¡XIP 31
3.1 ²¤¶ 31
3.2 ³]­p«ä·Q 31
3.3 ¾Þ§@¼Ò«¬ 32
3.4 ¥D­n¥\¯à 33
3.5 ¼Æ¾Ú³ø®æ¦¡ 34
3.6 ®ÕÅç©Mµ{§Ç 37
3.7 ¹ê»Ú¼Æ¾Ú 39
3.8 ¤pµ² 39
²Ä4³¹ ¥Î¤á¼Æ¾Ú³ø¨óij¡X¡XUDP 41
4.1 ²¤¶ 41
4.2 ¥D­n¥\¯à 42
4.3 ¼Æ¾Ú³ø®æ¦¡ 43
4.4 ®ÕÅç©M 43
4.5 ¥D­nÀ³¥Î 44
4.5.1 ¦h¼½©Î¼s¼½³q«H 45
4.5.2 ²µuªº½Ð¨D/À³µª¥æ´« 45
4.5.3 ®Ä²v°ª¤_¥i¾a©ÊªºÀ³¥Î 46
4.5.4 »´¶q¯Å³q«H¨óij 46
4.6 ¹ê»Ú¼Æ¾Ú 49
4.7 ¤pµ² 49
4.8 ³N»y¹ï·Ó 49
²Ä5³¹ ¶Ç¿é±±¨î¨óij¡X¡XTCP 51
5.1 ²¤¶ 51
5.2 ¾ú¥v©M¼Ð·Ç 51
5.3 ¥D­n¥\¯à 53
5.3.1 ¼Æ¾Ú«Ê¸Ë©M¶Ç¿é 53
5.3.2 ¥i¾a©Ê 53
5.3.3 ¬y¶q±±¨î 54
5.3.4 ¾Ö¶ëÁקK 54
5.3.5 ¦h¸ô´_¥Î 54
5.3.6 ³s±µºÞ²z 54
5.4 ¼Æ¾Ú®æ¦¡ 55
5.4.1 ·½ºÝ¤f©M¥ØªººÝ¤f 55
5.4.2 §Ç¸¹ 55
5.4.3 ½T»{¸¹ 56
5.4.4 ¼Æ¾Ú°¾²¾ 56
5.4.5 ±±¨î¦ì 56
5.4.6 µ¡¤f 56
5.4.7 ®ÕÅç©M 56
5.4.8 ºò«æ«ü°w 57
5.4.9 ¿ï¶µ 57
5.5 ¹ê»Ú¼Æ¾Ú 57
5.6 ¤pµ² 58
5.7 ³N»y¹ï·Ó 58
²Ä6³¹ TCP³s±µºÞ²z 60
6.1 ²¤¶ 60
6.2 TCP¦³­­ª¬ºA¾÷ 60
6.3 «Ø¥ß³s±µ 61
6.3.1 ³s±µ¥Øªº 62
6.3.2 ¤T¦¸´¤¤â 63
6.3.3 ¦P®É¥´¶} 64
6.4 Ãö³¬³s±µ 65
6.4.1 ¥¿±`Ãö³¬ 65
6.4.2 ¦P®ÉÃö³¬ 67
6.5 ªì©l§Ç¸¹¿ï¾Ü 67
6.6 TIME-WAITª¬ºA 67
6.7 ¥­ÀR®É¶¡ 68
6.8 ¤pµ² 68
6.9 ³N»y¹ï·Ó 69
²Ä7³¹ ICMP¨óij 70
7.1 ²¤¶ 70
7.2 ³ø¤åªºÃþ«¬ 71
7.3 Echo½Ð¨D©MÀ³µª 73
7.4 ¥Øªº¤£¥i¹F 74
7.5 ·½§í¨î 75
7.6 ­«©w¦V 75
7.7 ¸ô¥Ñ³q§i»P½Ð¨D 76
7.7.1 ¸ô¥Ñ¾¹¦æ¬° 77
7.7.2 ¥D¾÷¦æ¬° 77
7.8 ¶W®É 77
7.9 °Ñ¼Æ°ÝÃD 78
7.10 ®É¶¡ÂW½Ð¨D©MÀ³µª 78
7.11 ¦a§}±»½X½Ð¨D©MÀ³µª 79
7.12 ¹ê»Ú¼Æ¾Ú 79
7.13 ¤pµ² 80
²Ä8³¹ ¦h¼½ 81
8.1 ²¤¶ 81
8.2 ³ø¤å®æ¦¡ 82
8.2.1 ¬d¸ß³ø¤å 82
8.2.2 ³ø§i³ø¤å 84
8.3 ¨óij¹ê²{ 85
8.3.1 ¥[¤J¥D¾÷²Õ 86
8.3.2 ¦¨­ûÃö¨t¬d¸ß 86
8.3.3 ¦¨­ûÃö¨t³ø§i 86
8.4 ª¬ºAÂà´« 86
8.5 ¤ä«ù¦h¼½ªº¯Å§O 87
8.6 ¦h¼½¦a§} 88
8.7 ¦h¼½¦a§}¬M®g¨ì¥H¤Óºô¦a§} 89
8.8 ³æ¼½¡B¼s¼½¡B¦h¼½ 90
8.9 ¹ê»Ú¼Æ¾Ú 90
8.10 ¤pµ² 91
8.11 ³N»y¹ï·Ó 92
²Ä9³¹ socket°ò¥»·§©À 93
9.1 °ò¥»·§©À 93
9.1.1 ¨óijÁL©M¦a§}ÁL 93
9.1.2 ºÝ¤f 93
9.1.3 ¦a§} 94
9.2 socket¾ú¥v 94
9.3 WinSock²¤¶ 95
9.4 WinSock»PBerkeley socket
ªº°Ï§O 96
9.4.1 ÀY¤å¥ó©M®w¤å¥ó 96
9.4.2 ¶}©l©M°h¥X 97
9.4.3 ¥y¬`¼Æ¾ÚÃþ«¬ 99
9.4.4 ¿ù»~½X 100
9.4.5 ­«©R¦Wªº¨ç¼Æ 101
9.5 WinSock I/O¼Ò¦¡ 101
9.5.1 ªý¶ëI/O 101
9.5.2 «Dªý¶ëI/O 102
9.5.3 ­«Å|I/O 102
9.5.4 ¦P¨B»P²§¨B 103
9.6 ¤pµ² 105
²Ä10³¹ ºôµ¸¦a§} 106
10.1 IP¦a§}¤ÀÃþ 106
10.2 ¤lºô½s§} 108
10.3 ¯S®íIP¦a§} 108
10.3.1 ¥þ¡§0¡¨ªº¸ÑÄÀ 108
10.3.2 ¥þ¡§1¡¨ªº¸ÑÄÀ 109
10.3.3 Àô¦^¦a§} 109
10.3.4 ¨p¦³IP¦a§} 110
10.4 ¦a§}ºÞ²z 110
10.5 ¦a§}¯ÓºÉªº¸Ñ¨M 111
10.5.1 NAT 111
10.5.2 IPv6 112
10.6 ¦a§}¬M®g 112
10.7 ARPªº«Ê¸Ë 113
10.8 ARP¤À²Õ®æ¦¡ 113
10.9 ¹ê»Ú¼Æ¾Ú 115
10.10 ¤pµ² 116
10.11 ³N»y¹ï·Ó 116
²Ä11³¹ Âà´«¨ç¼Æ 117
11.1 ¼Æ¾Úªí¥Ü¬ù©w 117
11.2 ¦r¸`§Ç 118
11.3 §PÂ_¦r¸`§Çµ{§Ç 119
11.4 ºôµ¸¦r¸`§Ç 120
11.5 ³q¥Îsocket¦a§}µ²ºc 121
11.6 IPv4¦a§}µ²ºc 122
11.7 IP¦a§}»PASCII¶¡ªºÂà´« 122
11.8 Âà´«¨ç¼Æ¹ê²{ 123
11.9 ¤pµ² 127
²Ä12³¹ ¦P¨B¦W¦r¸ÑªR 128
12.1 °ì¦W¨t²Î²¤¶ 128
12.1.1 ¸ê·½°O¿ý 128
12.1.2 ¸ÑªR¾¹ 128
12.1.3 ¦W¦rªA°È¾¹ 129
12.2 °ì¦W¨t²Î¼Ò«¬ 129
12.3 gethostbyname 130
12.4 gethostbyaddr 132
12.5 gethostname 132
12.6 ¥D¾÷¬d¸ßµ{§Ç 133
12.7 getservbyname©M
getservbyport 135
12.8 ªA°È¬d¸ßµ{§Ç 137
12.9 getprotobyname©Mgetprotobynumber 138
12.10 ¨óij¬d¸ßµ{§Ç 139
12.11 ¤pµ² 141
²Ä13³¹ ²§¨B¦W¦r¸ÑªR 142
13.1 Windowsµ{§Ç³]­p 142
13.2 ¥D¾÷²§¨B¬d¸ß¨ç¼Æ 144
13.3 ªA°È©M¨óij²§¨B¨ç¼Æ 146
13.4 WSACancelAsyncRequest 148
13.5 °ì¦W¬d¸ßµ{§Ç 148
13.6 ¨ä¥L¬d¸ßµ{§Ç 154
13.7 ¤pµ² 154
²Ä14³¹ UDPµ{§Ç³]­p 155
14.1 ²¤¶ 155
14.2 socket 156
14.3 bind 157
14.4 ´ú¸Õbindµ{§Ç 158
14.5 sendto 159
14.6 recvfrom 160
14.7 closesocket 161
14.8 Daytime«È¤áºÝµ{§Ç 163
14.9 DaytimeªA°È¾¹µ{§Ç 165
14.10 ¤pµ² 166
²Ä15³¹ TCP®M±µ¤f¨ç¼Æ 167
15.1 ²¤¶ 167
15.2 connect 168
15.3 listen 170
15.4 accept 171
15.5 send 172
15.6 recv 173
15.7 shutdown 174
15.8 getpeername 176
15.9 getsockname 176
15.10 ¤pµ² 177
²Ä16³¹ Web«È¤á/ªA°È¾¹µ{§Ç 178
16.1 ²¤¶ 178
16.2 Webªº²Õ¦¨ 179
16.3 HTML 180
16.4 HTTP¾ú¥v 182
16.5 HTTP³q«H¼Ò«¬ 183
16.6 HTTP®ø®§®æ¦¡ 183
16.7 HTTP¤èªk 184
16.8 HTTPª¬ºA½X 185
16.9 HTTP¥Ü¨Ò 185
16.10 HTTPªA°È¾¹µ{§Ç 186
16.11 HTTP«È¤áºÝµ{§Ç 193
16.12 ¤pµ² 196
16.13 ³N»y¹ï·Ó 197
²Ä17³¹ ¿W®a¯µÄy¡X¡X­ì©l®M±µ¤f 198
17.1 §A±q­þ¨½¨Ó 198
17.2 ½sµ{±µ¤f 199
17.3 ¿é¥X³B²z 200
17.4 ¿é¤J³B²z 200
17.5 ­ì©l®M±µ¤fªº­­¨î 202
17.6 Pingµ{§Ç 204
17.7 ³N»y¹ï·Ó 213
²Ä18³¹ Tracerouteµ{§Ç¹ê²{ 214
18.1 ²¤¶ 214
18.2 ¤å¥ó²Õ´ 215
18.3 TraceRoute.h¤å¥ó 216
18.4 TraceRoute.c¤å¥ó 218
18.5 ¤pµ² 227
²Ä19³¹ I/O¦h¸ô´_¥Î¡X¡Xselect¨ç¼Æ 229
19.1 ²¤¶ 229
19.2 select¨ç¼Æ 233
19.3 MSP­ì²z 235
19.4 MSPªA°È¾¹ 236
19.5 MSP«È¤áºÝ 243
19.6 ¤pµ² 249
²Ä20³¹ ®M±µ¤f¿ï¶µ 250
20.1 ²¤¶ 250
20.2 ioctlsocket¨ç¼Æ 250
20.3 getsockopt©Msetsockopt
¨ç¼Æ 252
20.4 °ò¥»¿ï¶µ 253
20.5 ¨óij¬ÛÃö¿ï¶µ 256
20.6 Àò¨ú¿ï¶µÀq»{­È 258
20.7 ¿ï¶µIP_HDRINCL¥Ü¨Ò 262
20.8 ¤pµ² 266
20.9 ³N»y¹ï·Ó 267
²Ä21³¹ ¼s¼½ 268
21.1 ²¤¶ 268
21.2 ¼s¼½¦a§} 268
21.3 ¼s¼½§@¥Î 269
21.4 ¼s¼½³q«H 270
21.5 Bootstrap¨óij 271
21.6 ªA°È¾¹µ{§Ç 273
21.7 «È¤áºÝµ{§Ç 277
21.8 ¤pµ² 282
21.9 ³N»y¹ï·Ó 282
²Ä22³¹ ¦h¼½ 283
22.1 ²¤¶ 283
22.2 ¦h¼½³q«H 284
22.3 ½sµ{­ì²z 286
22.4 ¦h¼½¿ï¶µ 288
22.5 ²³æºôµ¸®É¶¡¨óij 289
22.6 SNTPªA°È¾¹µ{§Ç 293
22.7 SNTP«È¤áºÝµ{§Ç 301
22.8 ¤pµ² 306
22.9 ³N»y¹ï·Ó 306
²Ä23³¹ WinSock²§¨B½sµ{ 307
23.1 ²¤¶ 307
23.2 WSAAsyncSelect 307
23.3 Finger¨óij 312
23.4 FingerªA°È¾¹ 313
23.5 Finger«È¤áºÝµ{§Ç 321
23.6 ¤pµ² 329
²Ä24³¹ ¤å¥ó¶Ç¿é¨óij 330
24.1 ²¤¶ 330
24.2 FTP¼Ò«¬ 331
24.3 ±±¨î¬yµ{ 332
24.3.1 «Ø¥ß±±¨î³s±µ 333
24.3.2 µn¿ý§Ç¦C 334
24.3.3 ¼Æ¾Ú³s±µ 335
24.4 ¼Æ¾Ú¦sÀx©Mªí¥Ü 338
24.4.1 ¼Æ¾ÚÃþ«¬ 338
24.4.2 ®æ¦¡±±¨î 338
24.4.3 ¼Æ¾Úµ²ºc 339
24.4.4 ¶Ç¿é¼Ò¦¡ 339
24.5 ©R¥O 340
24.6 FTPÀ³µª 342
24.7 ³q«H¹ê¨Ò 345
24.8 ¤pµ² 346
24.9 ³N»y¹ï·Ó 346
²Ä25³¹ FTP¨óijµ{§Ç 347
25.1 Á`Åéµ²ºc 347
25.2 ª¬ºA±±¨î 348
25.3 FtpProt.h¤å¥ó 349
25.4 ¨óij¹ê²{FtpProt.c 351
25.5 ¤pµ² 368

²Ä26³¹ FTP¬É­±µ{§Ç 369
26.1 ²¤¶ 369
26.2 FtpClnt.h¤å¥ó 370
26.3 ¥Î¤á¬É­±FtpClnt.c 373
26.4 ¤é§Ó¤å¥óFtpTrc.c 389
26.5 ¤pµ² 390
µ²§ô»y 369
°Ñ¦Ò¤åÄm 392
§Ç¡G