ÓÑÇéÌáʾ£ºÈç¹û±¾ÍøÒ³´ò¿ªÌ«Âý»òÏÔʾ²»ÍêÕû£¬Çë³¢ÊÔÊó±êÓÒ¼ü¡°Ë¢Ð¡±±¾ÍøÒ³£¡
µÚÈýµç×ÓÊé ·µ»Ø±¾ÊéĿ¼ ¼ÓÈëÊéÇ© ÎÒµÄÊé¼Ü ÎÒµÄÊéÇ© TXTÈ«±¾ÏÂÔØ ¡ºÊղص½ÎÒµÄä¯ÀÀÆ÷¡»

VCÓïÑÔ6.0³ÌÐòÉè¼Æ´ÓÈëÃŵ½¾«Í¨-µÚ58²¿·Ö

¿ì½Ý²Ù×÷: °´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·­Ò³ °´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ °´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿! Èç¹û±¾ÊéûÓÐÔĶÁÍ꣬ÏëÏ´μÌÐø½Ó×ÅÔĶÁ£¬¿ÉʹÓÃÉÏ·½ "Êղص½ÎÒµÄä¯ÀÀÆ÷" ¹¦ÄÜ ºÍ "¼ÓÈëÊéÇ©" ¹¦ÄÜ£¡


¡¡¡¡¡¡o¡¡¡¡WinSock¡¡ÀàÏê½â£»¡¡¡¡

¡¡¡¡¡¡o¡¡¡¡Í¨¹ýÒ»¸ö¾ßÌåµÄÀý×ÓÏêϸ˵Ã÷ÍøÂç±à³ÌµÄʵÏÖ£»¡¡¡¡

¡¡¡¡¡¡o¡¡¡¡ÀûÓá¡MSm¡¡¿Ø¼þ½øÐд®¿Ú±à³Ì¡£¡¡¡¡



11¡£1¡¡¡¡¡¡¡¡ÍøÂç±à³ÌµÄ»ù´¡ÖªÊ¶¡¡¡¡



¡¡¡¡¡¡µ±½ñÖ÷ÒªµÄÍøÂçÄ£ÐÍÓС¡OSI¡¡²Î¿¼Ä£ÐÍ¡¢TCP/IP¡¡²Î¿¼Ä£ÐÍ¡¢NetBEUI¡¡²Î¿¼Ä£Ðͺ͡¡IPX/SPX¡¡

²Î¿¼Ä£ÐÍ£¬ÆäÖÐ×î³£ÓõÄÊÇ¡¡TCP/IP¡¡²Î¿¼Ä£ÐÍ£¬±¾ÕÂÒ²ÒÔ¡¡TCP/IP¡¡²Î¿¼Ä£ÐÍÀ´½²½âÍøÂç±à³Ì¼¼¡¡

Êõ¡£¡¡¡¡



11¡£1¡£1¡¡¡¡¡¡¡¡Socket¡¡¼ò½é¡¡¡¡



¡¡¡¡¡¡ÉÏÊÀ¼Í¡¡80¡¡Äê´ú³õ£¬¼ÓÀû¸£ÄáÑÇ´óѧ¡¡Berkeley¡¡·ÖУÔÚ¡¡UNIX¡¡²Ù×÷ϵͳÏÂʵÏÖÁË¡¡TCP/IP¡¡Ð­¡¡

Ò飬ËüÃÇΪ¡¡TCP/IP¡¡¡¡ÍøÂçͨÐÅ¿ª·¢ÁËÒ»¸öÓ¦ÓóÌÐò½Ó¿Ú£¨API¡¡£©£¬Õâ¸ö¡¡API¡¡³ÆΪ¡¡socket¡¡¡¡¡¡¡¡¡¡¡¡£¨Ì×½Ó¡¡

×Ö£©½Ó¿Ú¡£socket¡¡¡¡¸ø³ÌÐòÔ±ÌṩÁËÒ»¸ö¸ß²ã½Ó¿Ú£¬ËüµÄ³öÏÖʹµÃ³ÌÐòÔ±ÔÚ±àдÍøÂçÓ¦ÓóÌÐò¡¡

ʱֻÐèÒªµ÷Óú¯Êý£¬¶ÔÍøÂçµÄµ×²ãϸ½Ú²¢²»ÐèÒª¾«Í¨£¬Òò´ËÊ®·Ö·½±ã¡£¡¡¡¡

¡¡¡¡¡¡Socket¡¡ÔÚ¡¡UNIX¡¡¡¡Éϵľ޴ó³É¹¦Ê¹µÃÈËÃÇÆÈÇÐÏëÒªÔÚ¡¡Windows¡¡¡¡ÉÏÒ²µÃµ½Í¬ÑùµÄ±ãÀû¡£ÔÚ¡¡

Windows3¡£0¡¡Ö®ºó£¬Socket¡¡¡¡Öð½¥ÒýÈëµ½¡¡¡¡Windows¡¡²Ù×÷ϵͳÖС£Windows¡¡¡¡Socket¡¡²»½ö°üº¬ÁË¡¡

Berkeley¡¡¡¡Socket¡¡µÄ¿âº¯Êý£¬²¢ÇÒÕë¶Ô¡¡Windows¡¡µÄÏûÏ¢Çý¶¯»úÖƵÄÌØÐÔ£¬°üº¬ÁËÒ»×éÕë¶Ô¡¡

Windows¡¡¡¡µÄÀ©Õ¹µÄ¿âº¯Êý¡£ÔÚ¡¡Intel¡¢Microsoft¡¡¡¢Sun¡¢SGI¡¢Informix¡¡¡¢Novell¡¡¡¡µÈ¹«Ë¾µÄ´óÁ¦¡¡

Ö§³ÖÏ£¬Windows¡¡¡¡Socket¡¡£¨ÒÔϼò³ÆWinSock¡¡£©´Ó¡¡1991¡¡ÄêµÄ¡¡1¡£0¡¡°æ·¢Õ¹µ½ÁË¡¡1996¡¡ÄêµÄ¡¡2¡£2¡£0¡¡

°æ¡£Èç½ñ£¬WinSock¡¡¡¡ÒѾ­³ÉΪ¡¡Windows¡¡ÍøÂç±à³ÌµÄ±ê×¼¡£¡¡¡¡



11¡£1¡£2¡¡¡¡¡¡¡¡Windows¡¡Ì×½Ó×ֹ淶¼ò½é¡¡¡¡



¡¡¡¡¡¡Windows¡¡Ì×½Ó×ֹ淶´Ó¡¡1991¡¡ÄêµÄ¡¡1¡£0¡¡°æ·¢Õ¹µ½¡¡1996¡¡ÄêµÄ¡¡2¡£2¡£0¡¡°æ£¬ÆäÖм¸¸ö±êÖ¾ÐԵİ桡

±¾ÓС¡WinSock1¡£0¡¡¡¢WinSock1¡£1¡¡ºÍ¡¡WinSock2¡£0¡¡¡£¡¡¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡292¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÚ¡¡11¡¡Õ¡¡¡¡¡¡¡¡ÍøÂç±à³Ì¡¡¡¡



¡¡¡¡¡¡¡¡1£®WinSock1¡£0¡¡¡¡



¡¡¡¡¡¡WinSock1¡£0¡¡ÊÇÍøÂçÈí¼þ¹©Ó¦É̺ÍÓû§Ð­»áϸÖÂÖܵ½µÄ¹¤×÷½á¾§¡£WinSock1¡£0¡¡¹æ·¶µÄ·¢²¼¡¡

ÊÇΪÁËÈÃÍøÂçÈí¼þ¹©Ó¦É̺ÍÓ¦ÓóÌÐò¿ª·¢Õ߶¼Äܹ»¿ªÊ¼½¨Á¢¸÷×Ô·ûºÏ¡¡WinSock¡¡±ê×¼µÄʵÏֺ͡¡

Ó¦ÓóÌÐò¡£¡¡¡¡



¡¡¡¡¡¡2¡¡£®WinSock1¡£1¡¡¡¡



¡¡¡¡¡¡WinSock1¡£1¡¡¡¡³ýÁ˼̳С¡WinSock1¡£0¡¡¡¡µÄ×¼ÔòºÍ½á¹¹Í⣬»¹×÷ÁËһЩ±ØÒªµÄ¸Ä¶¯¡£ÕâЩ¸Ä¶¯¡¡

³ýÁË°üº¬ÁËһЩ¸ü¼ÓÇåÎúµÄ˵Ã÷ºÍ¶Ô¡¡WinSock1¡£0¡¡µÄС¸Ä¶¯Ö®Í⣬»¹°üº¬ÁËÈçÏÂÖØ´óµÄ±ä¸ü¡£¡¡¡¡

¡¡¡¡¡¡o¡¡¡¡ÎªÁ˸ü¼Ó¼òµ¥µÄµÃµ½Ö÷»úÃûºÍµØÖ·£¬Ôö¼ÓÁË¡¡gethostname£¨£©º¯Êý¡£¡¡¡¡

¡¡¡¡¡¡o¡¡¡¡ÔÚ¡¡DLL¡¡Öб£ÁôÁËСÓÚ¡¡1000¡¡µÄÐòÊý£¬¶ø¶Ô´óÓÚ¡¡1000¡¡µÄÐòÊýÔòûÓÐÏÞÖÆ£¬Õâʹ¡¡WinSock¡¡

¡¡¡¡¡¡¡¡¡¡¹©Ó¦ÉÌ¿ÉÒÔÔÚ¡¡DLL¡¡¡¡ÖмÓÈë×Ô¼ºµÄ½çÃ棬¶ø²»Óõ£ÐÄËùÑ¡ÔñµÄÐòÊý»áºÍ¡¡WinSock¡¡½«À´¡¡

¡¡¡¡¡¡¡¡¡¡µÄ°æ±¾³åÍ»¡£¡¡¡¡

¡¡¡¡¡¡o¡¡¡¡Ôö¼ÓÁË¡¡WSAStartup£¨£©¡¡º¯ÊýºÍ¡¡WSACleanup£¨£©¡¡º¯ÊýÖ®¼äµÄ¹ØÁª£¬ÒªÇóÁ½¸öº¯Êý¶ÔÓ¦£¬Õâʹ¡¡

¡¡¡¡¡¡¡¡¡¡µÃÓ¦ÓóÌÐò¿ª·¢Õߺ͵ÚÈý·½¡¡DLL¡¡ÔÚʹÓá¡WinSock¡¡¡¡ÊµÏÖʱ²»ÐèÒª¿¼ÂÇÆäËûº¯Êý¶ÔÕâÌס¡

¡¡¡¡¡¡¡¡¡¡API¡¡µÄµ÷Óᣡ¡¡¡

¡¡¡¡¡¡o¡¡¡¡µ÷Õûº¯Êý¡¡in_addr£¨£©¡¡µÄ·µ»ØÀàÐÍ£¬in_addr¡¡µÄ½á¹¹¸ÄΪÎÞ·ûºÅ³¤ÕûÐÍ£¬Õâ¸ö¸Ä¶¯ÊÇΪÁËÊÊ¡¡

¡¡¡¡¡¡¡¡¡¡Ó¦²»Í¬µÄ¡¡C¡¡±àÒëÆ÷¶Ô·µ»ØÀàÐÍΪ¡¡4¡¡×ֽڽṹº¯ÊýµÄ²»Í¬´¦Àí·½·¨¡£¡¡¡¡

¡¡¡¡¡¡o¡¡¡¡°Ñ¡¡WSASsyncSelect£¨£©¡¡º¯ÊýÓïÒå´Ó¡°±ßÔµ´¥·¢¡±¸ÄΪ¡°µçƽ´¥·¢¡±£¬ÕâÖÖ·½Ê½´ó´ó¼ò»¯ÁË¡¡

¡¡¡¡¡¡¡¡¡¡Ó¦ÓóÌÐò¶ÔÕâ¸öº¯ÊýµÄµ÷Óᣡ¡¡¡

¡¡¡¡¡¡o¡¡¡¡¸Ä±äÁË¡¡ioctlsocket£¨£©º¯ÊýÖС¡FIONBIO¡¡¡¡µÄÓïÒå¡£Èç¹ûÌ×½Ó×Ö»¹Î´Íê³É¡¡WSASsyncSelect£¨£©¡¡

¡¡¡¡¡¡¡¡¡¡º¯ÊýµÄµ÷Óã¬Ôò¸Ãº¯Êý·µ»Øʧ°Ü¡£¡¡¡¡

¡¡¡¡¡¡o¡¡¡¡ÎªÁË·ûºÏ¡¡RFC1122¡¡£¬ÔÚÌ×½Ó×ÖÑ¡ÏîÖÐÔö¼ÓÁË¡¡TCP_NODELAY¡¡¡£¡¡¡¡

¡¡¡¡¡¡²»¹ý¡¡WinSock1¡£1¡¡°æ±¾Ö»Ö§³Ö¡¡TCP/IP¡¡Ð­Òé¡£¡¡¡¡



¡¡¡¡¡¡3¡¡£®WinSock2¡£0¡¡¡¡



¡¡¡¡¡¡WinSock2¡£0¡¡¡¡ÊÇ¡¡WinSock1¡£1¡¡¡¡·¢Õ¹µÄÒ»¸ö±È½ÏÖØ´óµÄ±ä¸ï¡£Ëü¿ÉÒÔÖ§³Ö¶àÖÖЭÒ飬²¢ÇÒΪ¡¡

ÁËÄÜÓë¡¡WinSock1¡£1¡¡¸üºÃµØʵÏÖÆä¼æÈÝÐÔ£¬WinSock2¡£0¡¡ÔÚ¡¡WinSock1¡£1¡¡»ù´¡ÉÏ×÷ÁËÏòºó¼æÈÝ£¬¡¡

¼´Ô´ÂëºÍ¶þ½øÖÆ´úÂë¡£Õâ¾ÍʵÏÖÁË¡¡WinSock¡¡Ó¦ÓóÌÐòºÍÈκΰ汾µÄ¡¡WinSock¡¡ÊµÏÖÖ®¼äµÄ×î´ó¡¡

µÄ»¥²Ù×÷ÐÔ£¬Í¬Ê±Ò²¼õÇáÁË¡¡WinSock¡¡Ó¦ÓóÌÐòʹÓÃÕß¡¢ÍøÂçЭÒéÕ»ÌṩÕߺͷþÎñÌṩÕߵĸº¡¡

µ£¡£¡¡¡¡



11¡£2¡¡¡¡¡¡¡¡ÍøÂçÓ¦ÓóÌÐò¡¡¡¡



11¡£2¡£1¡¡¡¡¡¡¡¡ÍøÂçÓ¦ÓóÌÐòµÄ»ù±¾Ä£ÐÍ¡¡¡¡



¡¡¡¡¡¡ÔÚ¡¡¡¡TCP/IP¡¡ÍøÂçÓ¦ÓÃÖУ¬Í¨ÐŵÄÁ½¸ö½ø³Ì¼äÏ໥×÷ÓõÄÖ÷ҪģʽÊÇ¿Í»§»ú/·þÎñÆ÷ģʽ¡¡

£¨Client/Server¡¡model¡¡£©£¬¼´¿Í»§Ïò·þÎñÆ÷·¢³ö·þÎñÇëÇ󣬷þÎñÆ÷½ÓÊÕµ½ÇëÇóºó£¬ÌṩÏàÓ¦µÄ·þ¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤281¡¡¡¤¡¡¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡293¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

Visual¡¡C£«£«¡¡6¡£0¡¡³ÌÐòÉè¼Æ´ÓÈëÃŵ½¾«Í¨¡¡¡¡



Îñ¡£¿Í»§»ú/·þÎñÆ÷ģʽµÄ½¨Á¢»ùÓÚÒÔÏÂÁ½µã£º¡¡¡¡

¡¡¡¡¡¡£¨1£©½¨Á¢ÍøÂçµÄÆðÒòÊÇÍøÂçÖÐÈíÓ²¼þ×ÊÔ´¡¢ÔËËãÄÜÁ¦ºÍÐÅÏ¢²»¾ùµÈ£¬ÐèÒª¹²Ïí£¬´Ó¶øÔì¡¡

¾ÍÓµÓÐÖÚ¶à×ÊÔ´µÄÖ÷»úÌṩ·þÎñ£¬×ÊÔ´½ÏÉٵĿͻ§ÇëÇó·þÎñÕâÒ»·Ç¶ÔµÈ×÷Óᣡ¡¡¡

¡¡¡¡¡¡£¨2¡¡£©ÍøÂç¼ä½ø³ÌͨÐÅÍêÈ«ÊÇÒì²½µÄ£¬Ï໥ͨÐŵĽø³Ì¼ä¼È²»´æÔÚ¸¸×Ó¹Øϵ£¬ÓÖ²»´æÔÚ¹²¡¡

ÏíÄڴ滺³åÇø£¬Òò´ËÐèÒªÒ»ÖÖ»úÖÆΪϣÍûͨÐŵĽø³Ì¼ä½¨Á¢ÁªÏµ£¬Îª¶þÕßµÄÊý¾Ý½»»»Ìṩͬ¡¡

²½£¬Õâ¾ÍÊÇ»ùÓÚ¿Í»§»ú/·þÎñÆ÷ģʽµÄ¡¡TCP/IP¡¡¡£¡¡¡¡

¡¡¡¡¡¡¿Í»§»ú/·þÎñÆ÷ģʽÔÚ²Ù×÷¹ý³ÌÖвÉÈ¡µÄÊÇÖ÷¶¯ÇëÇó·½Ê½£¬¾ßÌå²Ù×÷²½ÖèÈçÏ¡£¡¡¡¡

¡¡¡¡¡¡o¡¡¡¡Ê×ÏÈ·þÎñÆ÷·½ÒªÏÈÆô¶¯£¬²¢¸ù¾ÝÇëÇóÌṩÏàÓ¦·þÎñ£º¡¡¡¡

¡¡¡¡¡¡o¡¡¡¡´ò¿ªÒ»Í¨ÐÅͨµÀ²¢¸æÖª±¾µØÖ÷»ú£¬ËüÔ¸ÒâÔÚijһ¶Ë¿ÚÉϽÓÊÕ¿Í»§ÇëÇ󡣡¡¡¡

¡¡¡¡¡¡o¡¡¡¡µÈ´ý¿Í»§ÇëÇóµ½´ï¸Ã¶Ë¿Ú¡£¡¡¡¡

¡¡¡¡¡¡o¡¡¡¡½ÓÊÕµ½Öظ´·þÎñÇëÇ󣬴¦Àí¸ÃÇëÇó²¢·¢ËÍÓ¦´ðÐźš£½ÓÊÕµ½²¢·¢·þÎñÇëÇó£¬Òª¼¤»îÒ»¡¡

¡¡¡¡¡¡¡¡Ð½ø³ÌÀ´´¦ÀíÕâ¸ö¿Í»§ÇëÇó¡¡¡£Ð½ø³Ì´¦Àí´Ë¿Í»§ÇëÇ󣬲¢²»ÐèÒª¶ÔÆäËûÇëÇó×÷³öÓ¦´ð¡£¡¡

¡¡¡¡¡¡¡¡·þÎñÍê³Éºó£¬¹Ø±Õ´Ë½ø³ÌÓë¿Í»§µÄͨÐÅÁ´Â·£¬²¢ÖÕÖ¹¸Ã½ø³Ì¡£¡¡¡¡

¡¡¡¡¡¡o¡¡¡¡·µ»ØµÚ¶þ²½£¬µÈ´ýÁíÒ»¿Í»§ÇëÇ󡣡¡¡¡

¡¡¡¡¡¡o¡¡¡¡¹Ø±Õ·þÎñÆ÷¡£¡¡¡¡

¡¡¡¡¡¡¿Í»§·½µÄÖ÷Òª²Ù×÷²½ÖèÈçÏ£º¡¡¡¡

¡¡¡¡¡¡o¡¡¡¡´ò¿ªÒ»Í¨ÐÅͨµÀ£¬²¢Á¬½Óµ½·þÎñÆ÷ËùÔÚÖ÷»úµÄÖ¸¶¨¶Ë¿Ú¡£¡¡¡¡

¡¡¡¡¡¡o¡¡¡¡Ïò·þÎñÆ÷·¢·þÎñÇëÇó±¨ÎÄ£¬µÈ´ý²¢½ÓÊÕÓ¦´ð£»¼ÌÐøÌá³öÇëÇ󡣡¡¡¡

¡¡¡¡¡¡o¡¡¡¡ÇëÇó½áÊøºó¹Ø±ÕͨÐÅͨµÀ²¢ÖÕÖ¹¡£¡¡¡¡

¡¡¡¡¡¡ÔÚ¿Í»§»ú/·þÎñÆ÷±à³ÌÄ£ÐÍÏ£¬ÓÖ·ÖΪÃæÏòÁ¬½ÓµÄ±à³ÌÄ£ÐͺÍÎÞÁ¬½ÓµÄ±à³ÌÄ£ÐÍ¡£¡¡¡¡

¡¡¡¡¡¡o¡¡¡¡ÃæÏòÁ¬½ÓµÄ±à³ÌÄ£ÐÍ£ºµ±·þÎñÆ÷³ÌÐòµÄÌ×½Ó×Ö´´½¨²¢³õʼ»¯Íê±Ïʱ£¬ËüÏȽøÈëÐÝÃß×´¡¡

¡¡¡¡¡¡¡¡Ì¬£¬Ö±µ½Óпͻ§»úÏò¸Ã·þÎñÆ÷³ÌÐòÌá³öÁ¬½ÓÇëÇó¡£Õâʱ£¬·þÎñÆ÷³ÌÐò±»¡°»½ÐÑ¡±²¢¿ª¡¡

¡¡¡¡¡¡¡¡Ê¼ÏìÓ¦¿Í»§»úÌá³öµÄÁ¬½ÓÇëÇó£¬Ë«·½Ð­ÉÌÊý¾ÝÓÉË­À´½ÓÊÕºÍÓÉË­À´·¢ËÍ¡£ÔÚÊý¾Ý´«Êä¡¡

¡¡¡¡¡¡¡¡Íê±Ïʱ£¬Ë«·½ÔÙ·Ö±ð¹Ø±ÕÁ¬½Ó²¢ÊÍ·ÅÒò´´½¨Ì×½Ó×Ö¶øÕ¼ÓõÄ×ÊÔ´¡£¡¡¡¡

¡¡¡¡¡¡o¡¡¡¡ÎÞÁ¬½ÓµÄ±à³ÌÄ£ÐÍ£ºÔÚ´«ÊäÊý¾ÝÇ°£¬²»ÐèÒªÊÂÏȽøÐÐÁ¬½Ó£¬ÓÐÊý¾Ý¾Í½øÐз¢ËÍ£¬µ«È´¡¡

¡¡¡¡¡¡¡¡¡¡²»¶ÔÊý¾ÝµÄ˳ÐòºÍÕýÈ·ÐÔ¸ºÔð¡£Ïà¶ÔÓÚÃæÏòÁ¬½ÓµÄÄ£ÐÍ£¬ËüµÄ´«ÊäЧÂʽϸߣ¬µ«×¼È·¡¡

¡¡¡¡¡¡¡¡ÂÊÉԵ͡£¡¡¡¡



11¡£2¡£2¡¡¡¡¡¡¡¡½¨Á¢Ì×½Ó×Ö¶ÔÏó¡¡¡¡



¡¡¡¡¡¡º¯Êý¡¡socket£¨£©¿ÉÒÔ´´½¨Ò»¸ö¡¡socket¡¡¶ÔÏó£¬socket£¨£©º¯ÊýµÄÔ­ÐÍÈçÏ£º¡¡¡¡



¡¡¡¡¡¡SOCKET¡¡socket£¨int¡¡af£»¡¡int¡¡type£»¡¡int¡¡protocol¡¡£©£»¡¡¡¡



¡¡¡¡¡¡¸÷²ÎÊýÒâÒåÈçÏ¡£¡¡¡¡

¡¡¡¡¡¡o¡¡¡¡af¡¡£ºÐ­ÒéµÄµØÖ·¼Ò×å¡£ÔÚ¡¡Windows¡¡²Ù×÷ϵͳÖУ¬ËüµÄÈ¡ÖµÖ»ÄÜÊÇ¡¡AF_INET¡¡£¬±íʾ¸ÃÌס¡

¡¡¡¡¡¡¡¡½Ó×ÖÔÚ¡¡Internet¡¡ÓòÖнøÐÐͨÐÅ¡£¡¡¡¡

¡¡¡¡¡¡o¡¡¡¡type¡¡£ºÌ×½Ó×ÖÀàÐÍ¡£µ±µÚÒ»¸ö²ÎÊý¡¡af¡¡È¡ÖµÎª¡¡AF_INET¡¡Ê±£¬ËüÖ»ÓС¡3¡¡ÖÖÈ¡Öµ£¬Èç±í¡¡11¡­1¡¡

¡¡¡¡¡¡¡¡Ëùʾ¡£¡¡¡¡

¡¡¡¡¡¡o¡¡¡¡protocol¡¡£ºÖ¸¶¨ÍøÂçЭÒé¡£¾ßÌåÈ¡ÖµÈç±í¡¡11¡­2¡¡Ëùʾ¡£¡¡¡¡

¡¡¡¡¡¡Èç¹û´´½¨³É¹¦£¬Ôò·µ»ØÒ»¸ö´´½¨ºÃµÄÌ×½Ó×Ö£¬Èç¹û´´½¨Ê§°Ü£¬Ôò·µ»Ø¡¡INVALID_SOCKET£¬¡¡

ÏêϸÐÅÏ¢¿ÉÒÔͨ¹ýµ÷Óú¯Êý¡¡WSAGetLastError£¨£©²é¿´´íÎóÐÅÏ¢¡£¡¡¡¡



¡¤282¡¡¡¤¡¡¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡294¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÚ¡¡11¡¡Õ¡¡¡¡¡¡¡¡ÍøÂç±à³Ì¡¡¡¡



¡¡¡¡¡¡¡¡¡¡±í¡¡11¡­1¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ì×½Ó×ÖÀàÐÍÈ¡Öµ¼°ËµÃ÷¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡È¡Öµ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÀàÐÍ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ËµÃ÷¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÃæÏòÁ¬½Ó¡¢¿É¿¿µÄÊý¾Ý´«Êä·þÎñ£¬Êý¾ÝÎÞ²î´í·¢ËÍ£¬ÇÒ°´¡¡

¡¡SOCK_STREAM¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡TCP¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡·¢ËÍ˳Ðò½ÓÊÕ£»Êý¾Ý±»¿´×÷ÊÇ×Ö½ÚÁ÷£¬ÎÞ³¤¶ÈÏÞÖÆ¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÎÞÁ¬½Ó·þÎñ¡£Êý¾Ý°üÒÔ¶ÀÁ¢°üÐÎʽ·¢ËÍ£¬²»ÌṩÎÞ´í±£Ö¤£¬¡¡

¡¡SOCK_DGRAM¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡UDP¡¡¡¡

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Êý¾Ý¿ÉÄܶªÊ§£¬ÇÒ½ÓÊÕ˳Ðò»ìÂÒ¡¡¡¡

¡¡SOCK_RAW¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Raw¡¡sockets¡¡¡¡¡¡¡¡¡¡ÔÊÐí¶Ô½ÏµÍ²ãЭÒ飬Èç¡¡IP¡¢ICMP¡¡Ö±½Ó·ÃÎÊ¡¡¡¡



¡¡¡¡¡¡¡¡¡¡±í¡¡11¡­2¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÍøÂçЭÒéÈ¡ÖµÓëÌ×½Ó×ÖÀàÐ͹Øϵ¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ì×½Ó×ÖÀàÐÍ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÍøÂçЭÒé¡¡¡¡

¡¡TCP¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡IPPROTO_IP¡¡¡¡

¡¡UDP¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡IPPROTO_UDP¡¡¡¡

¡¡Raw¡¡sockets¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡IPPROTO_RAW¡¡¡¡



11¡£2¡£3¡¡¡¡¡¡¡¡°ó¶¨µØÖ·¡¡¡¡



¡¡¡¡¡¡¡¡¡¡´´½¨ºÃ¡¡Socket¡¡ºó£¬Í¨³£Òª½«±¾µØµØÖ·¸½¼Óµ½Ëù´´½¨µÄÌ×½Ó×ÖÉÏÒÔ±ãÄܹ»ÓÐЧµØ±êʶ´ËÌס¡

½Ó×Ö¡£Õâ¸ö¹ý³ÌÓÉ¡¡bind£¨£©¡¡º¯ÊýÀ´ÊµÏÖ£¬ËüµÄÔ­ÐÍÈçÏ£º¡¡¡¡



¡¡¡¡¡¡¡¡int¡¡bind£¨SOCKET¡¡s£»¡¡const¡¡struct¡¡sockaddr¡¡FAR¡¡*name£»¡¡int¡¡namelen£©£»¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¸÷²ÎÊýÒâÒåÈçÏ£º¡¡¡¡

¡¡¡¡¡¡¡¡o¡¡¡¡s£ºÒª°ó¶¨µÄÌ×½Ó×Ö¡£¡¡¡¡

¡¡¡¡¡¡¡¡o¡¡¡¡name¡¡£ºÓÃÀ´¸³ÓèÌ×½Ó×ÖµØÖ·¡£¡¡¡¡

¡¡¡¡¡¡¡¡o¡¡¡¡namelen¡¡£ºname¡¡²ÎÊýµÄ³¤¶È¡£¡¡¡¡

¡¡¡¡¡¡¡¡¡¡ÆäÖУ¬sockaddr¡¡½á¹¹ÈçÏ£º¡¡¡¡



¡¡¡¡¡¡¡¡¡¡struct¡¡sockaddr_in¡¡¡¡



¡¡¡¡¡¡¡¡¡¡£û¡¡¡¡



¡¡¡¡¡¡¡¡¡¡short¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡sin_family£»¡¡¡¡



¡¡¡¡¡¡¡¡u_short¡¡¡¡¡¡¡¡¡¡¡¡¡¡sin_port£»¡¡¡¡



¡¡¡¡¡¡¡¡¡¡struct¡¡in_addr¡¡¡¡sin_addr£»¡¡¡¡



¡¡¡¡¡¡¡¡¡¡char¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡sin_zero£§8£§£»¡¡¡¡



¡¡¡¡¡¡¡¡¡¡£ý£»¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¸÷²ÎÊýÒâÒåÈçÏ¡£¡¡¡¡

¡¡¡¡¡¡¡¡o¡¡¡¡sin_family£ºÔÚ¡¡Windows¡¡²Ù×÷ϵͳÖУ¬´ËֵΪ¡¡AF_INET¡¡¡£¡¡¡¡

¡¡¡¡¡¡¡¡o¡¡¡¡sin_port£º·þÎñµÄ¶Ë¿ÚºÅ¡£¡¡¡¡

¡¡¡¡¡¡¡¡o¡¡¡¡sin_addr£º±£´æ¡¡IP¡¡µØÖ·¡£¡¡¡¡

¡¡¡¡¡¡¡¡o¡¡¡¡sin_zero£§8£§£ºÆäֵΪ¡¡0£¬Ö»ÆðÌî³ä×÷Óᣡ¡¡¡

¡¡¡¡¡¡¡¡¡¡Èç¹û°ó¶¨³É¹¦£¬Ôò·µ»Ø¡¡0¡¡£»³ö´íÔò·µ»Ø¡¡SOCKET_ERROR¡£¡¡¡¡



11¡£2¡£4¡¡¡¡¡¡¡¡½¨Á¢Á¬½Ó¡¡¡¡



¡¡¡¡¡¡¡¡¡¡º¯Êý¡¡connect£¨£©¿ÉÒÔʵÏÖ¿Í»§»úºÍ·þÎñÆ÷µÄÁ¬½Ó£¬ÆäÔ­ÐÍÈçÏ£º¡¡¡¡



¡¡¡¡¡¡¡¡int¡¡connect£¨SOCKET¡¡s£»¡¡const¡¡struct¡¡sockaddr¡¡FAR¡¡*name£»¡¡int¡¡namelen£©£»¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¸÷²ÎÊýÒâÒåÈçÏ¡£¡¡¡¡



¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¤283¡¡¡¤¡¡¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡295¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

Visual¡¡C£«£«¡¡6¡£0¡¡³ÌÐòÉè¼Æ´ÓÈëÃŵ½¾«Í¨¡¡¡¡



¡¡¡¡¡¡o¡¡¡¡s£º½øÐÐÁ¬½ÓµÄÌ×½Ó×Ö¡£¡¡¡¡

¡¡¡¡¡¡o¡¡¡¡name¡¡£ºÒªÁ¬½Ó·þÎñÆ÷µÄÌ×½Ó×ÖµØÖ·½á¹¹¡£¡¡¡¡

¡¡¡¡¡¡o¡¡¡¡namelen¡¡£ºname¡¡²ÎÊýµÄ³¤¶È¡£¡¡¡¡

¡¡¡¡¡¡¡¡Èç¹ûÁ¬½Ó³É¹¦£¬´Ëº¯Êý·µ»Ø¡¡0¡¡£»Ê§°ÜÔò·µ»Ø¡¡SOCKET_ERROR¡£¡¡¡¡

¡¡¡¡¡¡¶ÔÓÚ·þÎñÆ÷À´Ëµ£¬µ±¿Í»§»ú·¢À´Á¬½ÓÇëÇóºó£¬·þÎñÆ÷Òªµ÷Óá¡accept£¨£©º¯ÊýÀ´ÏìÓ¦¶Ô·½µÄÁ¬¡¡

½ÓÇëÇ󣬸ú¯ÊýÔ­ÐÍÈçÏ£º¡¡¡¡



¡¡¡¡¡¡¡¡SOCKET¡¡accept£¨SOCKET¡¡s£»¡¡struct¡¡sockaddr¡¡FAR¡¡*addr£»¡¡int¡¡FAR¡¡*addrlen£©£»¡¡¡¡



¡¡¡¡¡¡¡¡¸÷²ÎÊýÒâÒåÈçÏ¡£¡¡¡¡

¡¡¡¡¡¡o¡¡¡¡s£º´¦ÔÚ¼àÌý£¨ÏÂС½Ú½éÉÜ£©Ä£Ê½ÏµÄÌ×½Ó×Ö¡£¡¡¡¡

¡¡¡¡¡¡o¡¡¡¡addr¡¡£ºÔÚº¯Êýµ÷Óùý³ÌÖб»Ìî³ä·¢³öÁ¬½ÓÇëÇóµÄ¿Í»§»úµÄ¡¡IP¡¡µØÖ·ÐÅÏ¢¡£¡¡¡¡

¡¡¡¡¡¡o¡¡¡¡addrlen¡¡£ºaddr¡¡²ÎÊýµÄ³¤¶È¡£¡¡¡¡

¡¡¡¡¡¡¡¡Èç¹û³É¹¦£¬Ôò·µ»ØÒ»¸öеÄÌ×½Ó×Ö£¬Ëü¶ÔÓ¦ÓÚÒѾ­½ÓÊܵÄÄǸö¿Í»§»úÁ¬½Ó¡£¶ÔÓڸÿͻ§¡¡

»úËùÓеĺóÐø²Ù×÷£¬¶¼Ê¹ÓÃÕâ¸öеÄÌ×½Ó×Ö¡£Ô­À´µÄÌ×½Ó×ÖÔòÈÔ´¦ÓÚ¼àÌýģʽ£¬¼ÌÐø½ÓÊÜÆä¡¡

Ëû¿Í»§»úµÄÁ¬½Ó¡£Èç¹ûʧ°Ü£¬Ôò·µ»Ø¡¡INVALID_SOCKET¡¡¡£¡¡¡¡



11¡£2¡£5¡¡¡¡¡¡¡¡¼àÌý¡¡socket¡¡¡¡



¡¡¡¡¡¡¶ÔÓÚ·þÎñÆ÷¶ËÀ´Ëµ£¬ÔÚËü½ÓÊÜ¿Í»§»úµÄÁ¬½Ó֮ǰ£¬Ê×ÏÈÒª¼àÌý¡£Ö»ÓнøÈëÁ˼àÌýģʽ£¬¡¡

²ÅÄܽÓÊÜÀ´×Ô¿Í»§»úµÄÁ¬½Ó¡£ÕâÒ»µã¿ÉÒÔͨ¹ý¡¡listen£¨£©º¯ÊýʵÏÖ£¬ËüµÄÔ­ÐÍÈçÏ£º¡¡¡¡



¡¡¡¡¡¡int¡¡listen£¨SOCKET¡¡s£»¡¡int¡¡backlog£©£»¡¡¡¡



¡¡¡¡¡¡¡¡¸÷²ÎÊýÒâÒåÈçÏ¡£¡¡¡¡

¡¡¡¡¡¡o¡¡¡¡s£º½øÐмàÌýµÄÌ×½Ó×Ö¡£¡¡¡¡

¡¡¡¡¡¡o¡¡¡¡backlog¡¡£ºÕýÔڵȴýÁ¬½ÓµÄ×î´ó¶ÓÁеij¤¶È¡£Èç¹û¡¡backlog¡¡¡¡µÄֵΪ¡¡3£¬ÓС¡4¡¡¸ö¿Í»§»úͬ¡¡

¡¡¡¡¡¡¡¡¡¡Ê±·¢³öÁ¬½ÓÇëÇó£¬ÔòÇ°¡¡3¡¡¸ö»á·ÅÔڵȴýÁ¬½Ó¶ÓÁÐÖУ¬×îºóÒ»¸ö½«±»ºöÂÔ¡£¡¡¡¡

¡¡¡¡¡¡¡¡Èç¹ûº¯Êý³É¹¦£¬Ôò·µ»Ø¡¡0¡¡£»·ñÔò·µ»Ø¡¡SOCKET_ERROR¡£¡¡¡¡



11¡£2¡£6¡¡¡¡¡¡¡¡Êý¾Ý´«Êä¡¡¡¡



¡¡¡¡¡¡¡¡µ±¿Í»§»úºÍ·þÎñÆ÷µÄÁ¬½Ó½¨Á¢ÆðÀ´ÒԺ󣬱ã¿ÉÒÔ½øÐÐÊý¾ÝµÄ´«Êä¡£Êý¾ÝµÄ´«ÊäÊÇÍøÂçͨ¡¡

ÐŵÄ×îÖÕÄ¿µÄ£¬Ç°ÃæËù×÷µÄ¹¤×÷¾ÍÊÇΪÁË¿Í»§»ú¿ÉÒԺͷþÎñÆ÷´«ÊäÊý¾Ý¡£Êý¾Ý´«ÊäÓÖ°üÀ¨Êý¡¡

¾Ý·¢ËͺÍÊý¾Ý½ÓÊÕ¡£¡¡¡¡



¡¡¡¡¡¡¡¡1£®Êý¾Ý·¢ËÍ¡¡¡¡



¡¡¡¡¡¡Êý¾Ý·¢ËÍÊÇͨ¹ý¡¡send£¨£©º¯ÊýÀ´ÊµÏֵģ¬ËüµÄÔ­ÐÍÈçÏ£º¡¡¡¡



¡¡¡¡¡¡int¡¡send£¨SOCKET¡¡s£»¡¡const¡¡char¡¡FAR¡¡*buf£»¡¡int¡¡len£»¡¡int¡¡flags¡¡£©£»¡¡¡¡



¡¡¡¡¡¡¡¡¸÷²ÎÊýÒâÒåÈçÏ¡£¡¡¡¡

¡¡¡¡¡¡o¡¡¡¡s£ºÒѾ­½¨Á¢Á¬½ÓµÄÌ×½Ó×Ö¡£¡¡¡¡

¡¡¡¡¡¡o¡¡¡¡buf¡¡£º×Ö·û»º³åÇø£¬ÇøÄÚ°üº¬¼´½«·¢Ë͵ÄÊý¾Ý¡£¡¡¡¡

¡¡¡¡¡¡o¡¡¡¡len¡¡£º»º³åÇøÄÚµÄ×Ö·ûÊýÄ¿¡£¡¡¡¡

¡¡¡¡¡¡o¡¡¡¡flags£ºÖ¸¶¨Êý¾Ý´«Ê䷽ʽ£¬È¡Öµ¿ÉΪ¡¡0¡¢MSG_DONTROUTE¡¡ºÍ¡¡MSG_OOB¡¡£¬»òÕßÊÇ¡¡



¡¡¡¤284¡¡¡¤¡¡¡¡


¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­Page¡¡296¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÚ¡¡11¡¡Õ¡¡¡¡¡¡¡¡ÍøÂç±à³Ì¡¡¡¡



¡¡¡¡¡¡¡¡¡¡ÕâЩȡֵ½øÐа´Î»»òÔËËãµÄ½á¹û¡£ÆäÖУ¬0¡¡±íʾÎÞÌØÊâÐÐΪ£»MSG_DONTROUTE¡¡¡¡±í¡¡

¡¡¡¡¡¡¡¡¡¡Ê¾´«Êä²ã²»Òª½«Ëü·¢³öµÄ°ü·ÓɳöÈ¥£»MSG_OOB¡¡±íʾÊý¾ÝÓ¦¸Ã±»´øÍâ·¢ËÍ¡£¡¡¡¡

¡¡¡¡¡¡¡¡Èç¹û·¢Ëͳɹ¦£¬Ôò·µ»Ø·¢Ë͵Ä×Ö½ÚÊý£¬Èç¹ûʧ°ÜÔò·µ»Ø¡¡SOCKET_ERROR¡£¡¡¡¡



¡¡¡¡¡¡¡¡2¡¡£®Êý¾Ý½ÓÊÕ¡¡¡¡



¡¡¡¡¡¡¡¡Êý¾Ý½ÓÊÕͨ¹ýº¯Êý¡¡recv£¨£©ÊµÏÖ£¬ÆäÔ­ÐÍÈçÏ£º¡¡¡¡



¡¡¡¡¡¡¡¡int¡¡recv£¨SOCKET¡¡s£»¡¡const¡¡char¡¡FAR¡¡*buf£»¡¡int¡¡len£»¡¡int¡¡flags¡¡£©£»¡¡¡¡



¡¡¡¡¡¡¡¡¸÷²ÎÊýÒâÒåÈçÏ¡£¡¡¡¡

¡¡¡¡¡¡¡¡o¡¡¡¡s£º×¼±¸½ÓÊÕÊý¾ÝµÄÌ×½Ó×Ö¡£¡¡¡¡

¡¡¡¡¡¡¡¡o¡¡¡¡buf¡¡£ºÖ¸Ïò¼´½«½ÓÊÕÊý¾ÝµÄ×Ö·û»º³åÇøµÄÖ¸Õ
·µ»ØĿ¼ ÉÏÒ»Ò³ ÏÂÒ»Ò³ »Øµ½¶¥²¿ ÔÞ£¨1£© ²È£¨2£©
¿ì½Ý²Ù×÷: °´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·­Ò³ °´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ °´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿!
ÎÂÜ°Ìáʾ£º ο´Ð¡ËµµÄͬʱ·¢±íÆÀÂÛ£¬Ëµ³ö×Ô¼ºµÄ¿´·¨ºÍÆäËüС»ï°éÃÇ·ÖÏíÒ²²»´íŶ£¡·¢±íÊéÆÀ»¹¿ÉÒÔ»ñµÃ»ý·ÖºÍ¾­Ñé½±Àø£¬ÈÏÕæдԭ´´ÊéÆÀ ±»²ÉÄÉΪ¾«ÆÀ¿ÉÒÔ»ñµÃ´óÁ¿½ð±Ò¡¢»ý·ÖºÍ¾­Ñé½±ÀøŶ£¡