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