¶ÔMFC ·â ×°Windows ͨ ѶAPI µÄ ÑÐ ¾¿ Áõ ÑÇ ¾ü---- Àî Àö ---- ½¯ ºé î£
Ò»¡¢ Òý ÑÔ---- ½ü Äê À´£¬ Àû ÓÃInternet ½ø ÐÐ Íø ¼Ê ¼ä ͨ Ѷ, ÔÚWWW ä¯ ÀÀ¡¢FTP¡¢Gopher Õâ Щ ³£ ¹æ ·þ Îñ£¬ ÒÔ ¼° ÔÚ Íø Âç µç »°¡¢ ¶à ý Ìå »á Òé µÈ Õâ Щ ¶Ô ʵ ʱ ÐÔ Òª Çó ÑÏ ¸ñ µÄ Ó¦ Óà ÖÐ ³É Ϊ ÑÐ ¾¿ µÄ ÈÈ µã£¬ ¶ø ÇÒ ÒÑ ¾ ÊÇ ±Ø Ðè µÄ ÁË¡£Windows »· ¾³ Ï ½ø ÐРͨ Ѷ ³Ì Ðò Éè ¼Æ µÄ ×î »ù ±¾ ·½ ·¨ ÊÇ Ó¦ ÓÃWindows Sockets ʵ ÏÖ ½ø ³Ì ¼ä µÄ ͨ Ѷ£¬ Ϊ ´Ë ΢ Èí Ìá ¹© ÁË ´ó Á¿ »ù ÓÚWindows Sockets µÄ ͨ ѶAPI£¬ ÈçWinSock API¡¢WinInet API ºÍISAPI£¬ ²¢ Ò» Ö± Ö Á¦ ÓÚ ¿ª ·¢ ¸ü ¿ì¡¢ ¸ü ÈÝ Ò× µÄ ͨ ѶAPI£¬ ½« Æä ºÍMFC ¼¯ ³É ÔÚ Ò» Æð ÒÔ Ê¹ ͨ Ѷ ±à ³Ì Ô½ À´ Ô½ ÈÝ Òס£ ---- MFC ÊÇVC ±à ³Ì »· ¾³ ×î ÖØ Òª µÄ ×é ³É ²¿ ·Ö£¬ Ëü Ϊ Óà »§ Ìá ¹© ÁË Ò» ´ó Åú Ô¤ ÏÈ ¶¨ Òå µÄ Àà ºÍ ³É Ô± º¯ Êý£¬ ·â ×° ÁË ´ó Á¿ µÄWindows API¡£ ͬ ʱVC »· ¾³ Ìá ¹© ÁË ÓëMFC ¶Ô Ïó ºÍ ´ú Âë Ò» Æð ¹¤ ×÷ µÄ ר Óà ¹¤ ¾ß£ºAppStudio Ô´ ³Ì Ðò ±à ¼ Æ÷¡¢AppWizard ºÍClass Wizard¡£ Ó¦ ÓÃMFC£¬ ¿É ÒÔ Ê¹Windows ³Ì Ðò Ô± Óà ½Ï ÉÙ µÄ ʱ ¼ä ºÍ ¾« Á¦ ¿ª ·¢ ³ö ¸´ ÔÓ µÄ ͨ Ѷ Ó¦ Óà ³Ì Ðò¡£ ---- ±¾ ÎÄ ¸ù ¾Ý ±Ê Õß ×Ô ¼º ÔÚ ¿ª ·¢ ʵ ʱ Íø Âç Òô Ƶ ¹¤ ¾ßFreeTalk ¹ý ³Ì ÖÐ µÄ Ò» Щ ¾ Ñ飬 ½é ÉÜWindows »· ¾³ Ï µÄ ³£ ÓÃAPI ºÍ ·â ×° Ëü ÃÇ µÄMFC À࣬ ÖØ µã ½é ÉÜ Ê¹ ÓÃMFC µÄCAsyncsocket ºÍCSocket Àà ±à д Íø Âç ͨ Ѷ ³Ì Ðò µÄ ·½ ·¨£¬ Õâ Á½ ¸ö Àà ·â ×° ÁËWinSock API£¬ ²¢ ʹ Ëû ÃÇ ¸ü ÈÝ Ò× Ê¹ Óà ºÍ ¸ü ÊÊ Ó¦ ÓÚMFC ±à ³Ì »· ¾³¡£ ¶þ¡¢Windows »· ¾³ Ï µÄ ͨ ѶAPI ºÍ Ïà Ó¦ µÄMFC Àà---- 1. Windows Sockets£¨WinSock£©API ---- Windows Sockets ¶¨ Òå ÁËWindows µÄ Íø Âç ±à ³Ì ½Ó ¿Ú£¬ Ëü »ù ÓÚ ¼Ó Àû ¸£ Äá ÑÇ ´ó ѧ ²® ¿Ë Àû ·Ö У µÄ ²® ¿Ë ÀûUnix Sockets¡£Windows Sockets ¼È °ü À¨BSD ·ç ¸ñ µÄ Àý ³Ì£¬ »¹ ¼Ó Èë ÁËWindows µÄ À© Õ¹ ²¿ ·Ö£¬ Àý Èç Óà ÓÚ Ïû Ï¢ Çý ¶¯ µÄ À© Õ¹ º¯ Êý¡£Windows Sockets ¿É ÒÔ ÔË ÐÐ ÔÚ Ðí ¶à Íø Âç Ð Òé Ö® ÉÏ£¬ °ü À¨TCP/IP¡¢XNS¡¢DECNet¡¢IPX/SPX µÈ¡£ ÔÚWin32 »· ¾³ Ï£¬Windows Sockets Ìá ¹© Ïß ³Ì °² È«¡£ ͨ ¹ý ΢ Èí Óë ±ê ×¼ ×é Ö¯ µÄ Ŭ Á¦£¬ ΪWinSock ¶¨ Òå ÁË Ó¦ Óà ³Ì Ðò Éè ¼Æ ½Ó ¿Ú£¨WinSock API£©£¬ ¿É ÒÔ ·Ç ³£ ·½ ±ã µØ Àû Óà Ï ²ã µÄ Íø Âç Ð Ò飨 ÈçTCP/IP£© ½ø ÐÐ Íø Âç ͨ Ѷ¡£ ---- ͨ ¹ý Ìá ¹© Á½ ¸ö ÀàCAsyncSocket ºÍCSocket£¬MFC Ö§ ³Ö ʹ ÓÃWinSock API ͨ Ѷ ³Ì Ðò Éè ¼Æ¡£MFC °Ñ ¸´ ÔÓ µÄWinSock API ·â ×° µ½ Àà À Õâ ʹ µÃ ±à д Ó¦ Óà ³Ì Ðò ¸ü ÈÝ Òס£CAsyncSocket Àà Öð ¸ö ·â ×° ÁËWinSock API£¬ Ϊ ¸ß ¼¶ Íø Âç ³Ì Ðò Ô± Ìá ¹© ÁË ¸ü ¼Ó ÓÐ Á¦ ¶ø Áé »î µÄ ·½ ·¨¡£ Õâ ¸ö Àà »ù ÓÚ ³Ì Ðò Ô± ÁË ½â Íø Âç ͨ Ѷ µÄ ¼Ù É裬 Ä¿ µÄ ÊÇ Îª ÁË ÔÚMFC ÖРʹ ÓÃWinSock£¬ ³Ì Ðò Ô± ÓÐ Ôð ÈÎ ´¦ Àí Öî Èç ×è Èû¡¢ ×Ö ½Ú ˳ Ðò ºÍ ÔÚUnicode ÓëMBCS ¼ä ת »» ×Ö ·û µÄ ÈÎ Îñ¡£ Ϊ ÁË ¸ø ³Ì Ðò Ô± Ìá ¹© ¸ü ·½ ±ã µÄ ½Ó ¿Ú ÒÔ ×Ô ¶¯ ´¦ Àí Õâ Щ ÈÎ Îñ£¬MFC ¸ø ³ö ÁËCSocket À࣬ Õâ ¸ö Àà ÊÇ ÓÉCAsyncSocket Àà ¼Ì ³Ð Ï À´ µÄ£¬ Ëü Ìá ¹© ÁË ±ÈCAsyncSocket ¸ü ¸ß ²ã µÄWinSock API ½Ó ¿Ú¡£Csocket Àà ºÍCsocketFile Àà ÓëCarchive Àà Ò» Æð ºÏ ×÷ À´ ¹Ü Àí ·¢ ËÍ ºÍ ½Ó ÊÕ µÄ Êý ¾Ý£¬ Õâ ʹ ¹Ü Àí Êý ¾Ý ÊÕ ·¢ ¸ü ¼Ó ±ã Àû¡£CSocket ¶Ô Ïó Ìá ¹© ×è Èû Ä£ ʽ£¬ Õâ ¶Ô ÓÚCarchive µÄ ͬ ²½ ²Ù ×÷ ÊÇ ÖÁ ¹Ø ÖØ Òª µÄ¡£ ×è Èû º¯ Êý[ ±È ÈçReceive()¡¢Send()¡¢ReceiveFrom()¡¢SendTo() ºÍAccept()] Ö± µ½ ²Ù ×÷ Íê ³É ºó ²Å ·µ »Ø ¿Ø ÖÆ Ȩ£¬ Òò ´Ë Èç ¹û Ðè Òª µÍ ²ã ¿Ø ÖÆ ºÍ ¸ß Ч ÂÊ£¬ ¾Í ʹ ÓÃCasyncSock Àࣻ Èç ¹û Ðè Òª ·½ ±ã£¬ Ôò ¿É ʹ ÓÃCsocket Àà¡£ 2.Win32 Internet£¨WinInet£©API ---- ΢ Èí ¹« ²¼ ÁË Ò» Щ ʹInternet Ó¦ Óà ³Ì Ðò µÄ Éè ¼Æ ±È ÒÔ Ç° ¸ü ¿ì¡¢ ¸ü ÈÝ Ò× µÄAPI£ºWinInet API£¬ Ëü Ìá ¹© ÁË ÖÐ ¸ß ²ã ͨ ÐÅ º¯ Êý£¬ Õâ ʹ ·Ã ÎÊ Ö÷ Òª µÄInternet Ð Òé ±ä µÃ Ïà µ± ÈÝ Òס£ Õâ Щ º¯ Êý ÔÚ ³Ì Ðò Ô± ºÍWinSock Çý ¶¯ Ö® ¼ä Ìá ¹© ÁË ¸ô Àë ²ã¡£ ÓÐ4 ÀàWinInet API º¯ Êý£º ͨ ÓÃWinInet º¯ Êý¡¢WinInet ÎÄ ¼þ ´« Êä Ð Ò飨FTP£© º¯ Êý¡¢WinInet Gopher º¯ Êý¡¢WinInet ³¬ ÎÄ ±¾ ´« Êä Ð Ò飨HTTP£© º¯ Êý¡£ ---- Ê ʵ ÉÏ£¬MFC °ÑWinInet API ºÍActiveX ¼¼ Êõ ·â ×° ½ø À࣬ ʹInternet ±à ³Ì ¸ü ¼Ó ÈÝ Ò×£¬ Õâ Щ Àà °ü À¨CInternetSession¡¢CInternetConnection¡¢CInternetFile¡¢CHttpConnection¡¢CHttpFile¡¢CGopherFile¡¢CFtpConnection¡¢CGopherConnection¡¢CFileFind¡¢CFtpFileFind¡¢CGopherFileFind¡¢CGopherLocator ºÍCInternetException¡£ ---- 3.Internet ·þ Îñ Æ÷API£¨ISAPI£© ---- ΢ Èí µÄIIS ÊÇ Î© Ò» ÓëWindows NT Server ²Ù ×÷ ϵ ͳ ½ô ÃÜ ¼¯ ³É µÄWWW ·þ Îñ Æ÷£¬ Ëü ×÷ ΪInternet/Intranet ·þ Îñ Æ÷ Ó¦ Óà ·¶ Χ ºÜ ¹ã¡£IIS ÔÊ Ðí À© Õ¹ ¹¦ ÄÜ£¬ Õâ ÊÇ Í¨ ¹ýISAPI À´ ʵ ÏÖ µÄ£¬ISAPI Ãè Êö ÁË ÓëInternet ·þ Îñ Æ÷ Ö® ¼ä µÄ ½Ó ¿Ú¡£ ÓÃISAPI Ìá ¹© µÄ ¹¤ ¾ß£¬ ¿É ½¨ Á¢ ¸ß ÐÔ ÄÜ¡¢ ¸ß Ч ÂÊ¡¢ Âú ×ã ÉÌ Òµ °² È« ¼° ·û ºÏ РµÄIIS ±ê ×¼ µÄInternet ·þ Îñ Æ÷¡£ ͬ Ñù£¬ISAPI ÔÚMFC ÖÐ ÓÉ µä ÐÍ µÄ Àà Ëù ·â ×°£¬ °ü À¨CHttpFilter¡¢CHttpFilterContext¡¢CHttpServer¡¢CHttpServerContext¡¢Related Classes ºÍCHtmlStream¡£ Èý¡¢WinSock API µÄMFC ·â ×° Àà---- Ò» Щ Íø Âç Ó¦ Óà ³Ì Ðò( Èç Íø Âç µç »°¡¢ ¶à ý Ìå »á Òé ¹¤ ¾ß) ʵ ʱ ÐÔ Òª Çó ·Ç ³£ Ç¿£¬ Òª Çó ÄÜ ¹» Ö± ½Ó Ó¦ ÓÃWinSock ·¢ ËÍ ºÍ ½Ó ÊÕ Êý ¾Ý¡£ Õâ ʱ Éè ¼Æ Õß Ó¦ ¸Ã Ñ¡ Ôñ Ö± ½Ó Ó¦ ÓÃWinSock API »ò Õß ÓÉMFC ·â ×° µÄWinSock API¡£ Р¿ª ·¢ µÄ Ó¦ Óà ³Ì Ðò ÖУ¬ Ϊ ÁË ³ä ·Ö Àû ÓÃMFC µÄ ÓÅ ÊÆ£¬ Ê× Ñ¡ ·½ °¸ Ó¦ µ± ÊÇMFC ÖÐ µÄCAsyncSocket Àà ºÍCSocket À࣬ Õâ Á½ ¸ö Àà Íê È« ·â ×° ÁËWinSock API£¬ ²¢ Ìá ¹© ¸ü ¶à µÄ ±ã Àû¡£ ±¾ ÎÄ ½é ÉÜ Ó¦ Óà Õâ Á½ ¸ö Àà µÄ ±à ³Ì Ä£ ÐÍ£¬ ²¢ Òý ³ö Ïà ¹Ø µÄ ³É Ô± º¯ Êý Óë Ò» Щ ¸Å Äî µÄ ½â ÊÍ¡£ ---- 1.CAsyncSocket Àà ºÍCSocket Àà ¼ò Êö ¸½ ͼ CAsyncSocket Àà ºÍCSocket Àà µÄ ¼Ì ³Ð ¹Ø ϵ ---- CAsyncSocket Àà ºÍCSocket Àà µÄ ¼Ì ³Ð ¹Ø ϵ ÓÉ ¸½ ͼ ¸ø ³ö¡£CSocket Àà ÊÇ ÓÉCAsyncSocket ¼Ì ³Ð ¶ø À´ µÄ£¬ Ê ʵ ÉÏ£¬ ÔÚMFC ÖÐCAsyncSocket Öð ¸ö ·â ×° ÁËWinSock API£¬ ÿ ¸öCAsyncSocket ¶Ô Ïó ´ú ±í Ò» ¸öWindows Socket£¬ ʹ ÓÃCAsyncSocket Àà Òª Çó ³Ì Ðò Ô± ¶Ô Íø Âç ±à ³Ì ½Ï Ϊ Êì Ϥ¡£ Ïà ±È Æð À´£¬CSocket Àà ÊÇCAsyncSocket µÄ ÅÉ Éú À࣬ ¼Ì ³Ð ÁË Ëü ·â ×° µÄWinSock API¡£ Ò» ¸öCSocket ¶Ô Ïó ´ú ±í ÁË Ò» ¸ö ±ÈCAsyncSocket ¶Ô Ïó ¸ü ¸ß ²ã ´Î µÄWindows Socket ³é Ïó£¬CSocket Àà ÓëCSocketFile Àà ºÍCArchive Àà Ò» Æð ¹¤ ×÷ À´ ·¢ ËÍ ºÍ ½Ó ÊÕ Êý ¾Ý£¬ Òò ´Ë ʹ Óà Ëü ¸ü ¼Ó ÈÝ Òס£CSocket ¶Ô Ïó Ìá ¹© ×è Èû Ä£ ʽ£¬ Òò Ϊ ×è Èû ¹¦ ÄÜ ¶Ô ÓÚCArchive µÄ ͬ ²½ ²Ù ×÷ ÊÇ ÖÁ ¹Ø ÖØ Òª µÄ¡£ ÔÚ Õâ Àï ÓÐ ±Ø Òª ¶Ô ×è Èû µÄ ¸Å Äî ×÷ Ò» ½â ÊÍ£º Ò» ¸ösocket ¿É ÒÔ ´¦ ÓÚ¡° ×è Èû Ä£ ʽ¡± »ò¡° ·Ç ×è Èû Ä£ ʽ¡±£¬ µ± Ò» ¸ö Ì× ½Ó ×Ö ´¦ ÓÚ ×è Èû Ä£ ʽ£¨ ¼´ ͬ ²½ ²Ù ×÷£© ʱ£¬ Ëü µÄ ×è Èû º¯ Êý Ö± µ½ ²Ù ×÷ Íê ³É ²Å »á ·µ »Ø ¿Ø ÖÆ Ȩ£¬ Ö® Ëù ÒÔ ³Æ Ϊ ×è Èû ÊÇ Òò Ϊ ´Ë Ì× ½Ó ×Ö µÄ ×è Èû º¯ Êý ÔÚ Íê ³É ²Ù ×÷ ·µ »Ø Ö® ǰ ʲ ô Ò² ²» ÄÜ ×ö¡£ Èç ¹û Ò» ¸ösocket ´¦ ÓÚ ·Ç ×è Èû Ä£ ʽ£¨ ¼´ Òì ²½ ²Ù ×÷£©£¬ Ôò »á ±» µ÷ Óà º¯ Êý Á¢ ¼´ ·µ »Ø¡£ ÔÚCAsyncSocket Àà ÖÐ ¿É ÒÔ ÓÃGetLastError ³É Ô± º¯ Êý ²é ѯ ×î ºó µÄ ´í Îó£¬ Èç ¹û ´í Îó ÊÇWSAEWOULDBLOCK Ôò ˵ Ã÷ ÓÐ ×è Èû£¬ ¶øCSocket ¾ø ²» »á ·µ »ØWSAEWOULDBLOCK£¬ Òò Ϊ Ëü ×Ô ¼º ¹Ü Àí ×è Èû¡£ ΢ Èí ½¨ Òé ¾¡ Á¿ ʹ Óà ·Ç ×è Èû Ä£ ʽ£¬ ͨ ¹ý Íø Âç Ê ¼þ µÄ ·¢ Éú ¶ø ͨ Öª Ó¦ Óà ³Ì Ðò ½ø ÐÐ Ïà Ó¦ µÄ ´¦ Àí¡£ µ« ÔÚCSocket Àà ÖУ¬ Ϊ ÁË Àû ÓÃCArchive ´¦ Àí ͨ Ѷ ÖÐ µÄ Ðí ¶à ÎÊ Ìâ ºÍ ¼ò »¯ ±à ³Ì£¬ Ëü µÄ Ò» Щ ³É Ô± º¯ Êý ×Ü ÊÇ ¾ß ÓÐ ×è Èû ÐÔ ÖÊ µÄ£¬ Õâ ÊÇ Òò ΪCArchive Àà Ðè Òª ͬ ²½ µÄ ²Ù ×÷¡£ ÔÚWin32 »· ¾³ Ï£¬ Èç ¹û Òª ʹ Óà ¾ß ÓÐ ×è Èû ÐÔ ÖÊ µÄ Ì× ½Ó ×Ö£¬ Ó¦ ¸Ã ·Å ÔÚ ¶À Á¢ µÄ ¹¤ ÈË Ïß ³Ì ÖÐ ´¦ Àí£¬ Àû Óà ¶à Ïß ³Ì µÄ ·½ ·¨ ʹ ×è Èû ²» ÖÁ ÓÚ ¸É ÈÅ Æä Ëû Ïß ³Ì£¬ Ò² ²» »á °ÑCPU ʱ ¼ä ÀË ·Ñ ÔÚ ×è Èû ÉÏ¡£ ¶à Ïß ³Ì µÄ ·½ ·¨ ¼È ¿É ÒÔ Ê¹ ³Ì Ðò Ô± Ïí ÊÜCSocket ´ø À´ µÄ ¼ò »¯ ±à ³Ì µÄ ±ã Àû£¬ Ò² ²» »á Ó° Ïì Óà »§ ½ç Ãæ ¶Ô Óà »§ µÄ ·´ Ó¦¡£ ---- 2.CAsyncsocket Àà ±à ³Ì Ä£ ÐÍ ---- ÔÚ Ò» ¸öMFC Ó¦ Óà ³Ì Ðò ÖУ¬ Òª Ïë Çá ËÉ ´¦ Àí ¶à ¸ö Íø Âç Ð Ò飬 ¶ø ÓÖ ²» Îþ Éü Áé »î ÐÔ Ê±£¬ ¿É ÒÔ ¿¼ ÂÇ Ê¹ ÓÃCAsyncSocket À࣬ Ëü µÄ Ч ÂÊ ±ÈCSocket Àà Òª ¸ß¡£CAsyncSocket Àà Õë ¶Ô ×Ö ½Ú Á÷ ÐÍ Ì× ½Ó ×Ö µÄ ±à ³Ì Ä£ ÐÍ ¼ò Êö Èç Ï£º ---- (1) ¹¹ Ôì Ò» ¸öCAsyncSocket ¶Ô Ïó£¬ ²¢ Óà Õâ ¸ö ¶Ô Ïó µÄCreate ³É Ô± º¯ Êý ²ú Éú Ò» ¸öSocket ¾ä ±ú¡£ ¿É ÒÔ °´ Èç Ï Á½ ÖÖ ·½ ·¨ ¹¹ Ô죺 CAsyncSocket sock;Sock.Create(); // ʹ Óà Ĭ ÈÏ ²Î Êý ²ú Éú Ò» ¸ö ×Ö ½Ú Á÷ Ì× ½Ó ×Ö »òCAsyncSocket*pSocket=new CAsyncSocket;int nPort=27;pSocket->Create(nPort, SOCK-DGRAM);// Ö¸ ¶¨ ¶Ë ¿Ú ºÅ ²ú Éú Ò» ¸ö Êý ¾Ý ±¨ Ì× ½Ó ×Ö ---- µÚ Ò» ÖÖ ·½ ·¨ ÔÚ Õ» ÉÏ ²ú Éú Ò» ¸öCAsyncSocket ¶Ô Ïó£¬ ¶ø µÚ ¶þ ÖÖ ·½ ·¨ ÔÚ ¶Ñ ÉÏ ²ú ÉúCAsyncSocket ¶Ô Ïó¡£ µÚ Ò» ÖÖCreate ³É Ô± º¯ Êý Óà ȱ Ê¡ ²Î Êý ²ú Éú Ò» ¸ö ×Ö ½Ú Á÷ Ì× ½Ó ×Ö£¬ µÚ ¶þ ÖÖCreate ³É Ô± º¯ Êý Óà ָ ¶¨ µÄ ¶Ë ¿Ú ºÍ µØ Ö· ²ú Éú Ò» ¸ö Êý ×Ö ±¨ Ì× ½Ó ×Ö¡£Create µÄ ²Î Êý ÓУº ---- ¢Ù ¶Ë ¿Ú£¬UINT Àà ÐÍ¡£ ×¢ Ò⣺ Èç ¹û ÊÇ ·þ Îñ ·½£¬ Ôò ʹ Óà һ ¸ö ÖÚ Ëù ÖÜ Öª µÄ ¶Ë ¿Ú ¹© ·þ Îñ ·½ Á¬ ½Ó£» Èç ¹û ÊÇ ¿Í »§ ·½£¬ µä ÐÍ ×ö ·¨ ÊÇ ½Ó ÊÜ Ä¬ ÈÏ ²Î Êý£¬ ʹ Ì× ½Ó ×Ö ¿É ÒÔ ×Ô Ö÷ Ñ¡ Ôñ Ò» ¸ö ¿É Óà ¶Ë ¿Ú£» ---- ¢Úsocket Àà ÐÍ¡£SOCK-STREAM£¨ Ĭ ÈÏ Öµ£© »òSOCK-DGRAM£» ---- ¢Ûsocket µØ Ö·¡£ Àý Èç¡°ftp.gliet.edu.cn¡± »ò¡°202.193.64.33¡±¡£ ---- (2) Èç ÊÇ ¿Í »§ ·½ ³Ì Ðò£¬ ÓÃCAsyncSocket ¡ËConnect ³É Ô± º¯ Êý Á¬ ½Ó µ½ ·þ Îñ ·½£» Èç ÊÇ ·þ Îñ ·½ ³Ì Ðò£¬ ÓÃCAsyncSocket ¡ËListen ³É Ô± º¯ Êý ¿ª ʼ ¼à Ìý£¬ Ò» µ© ÊÕ µ½ Á¬ ½Ó Çë Çó£¬ Ôò µ÷ ÓÃCAsyncSocket ¡ËAccept ³É Ô± º¯ Êý ¿ª ʼ ½Ó ÊÕ¡£ ×¢ Ò⣺CAsyncSocket ¡ËAccept ³É Ô± º¯ Êý Òª Óà һ ¸ö РµÄ ²¢ ÇÒ ÊÇ ¿Õ µÄCSocket ¶Ô Ïó ×÷ Ϊ Ëü µÄ ²Î Êý£¬ Õâ Àï Ëù ˵ µÄ¡° ¿Õ µÄ¡± Ö¸ µÄ ÊÇ Õâ ¸ö Р¶Ô Ïó »¹ û ÓÐ µ÷ ÓÃCreate ³É Ô± º¯ Êý¡£ ---- (3) µ÷ Óà Æä Ëû µÄCAsyncSocket Àà ³É Ô± º¯ Êý ½ø ÐРͨ Ѷ ¹Ü Àí¡£ ---- (4) ͨ Ѷ ½á Êø ºó£¬ Ïú »ÙCAsyncSocket ¶Ô Ïó¡£ Èç ¹û ÊÇ ÔÚ Õ» ÉÏ ²ú Éú µÄCAsyncSocket ¶Ô Ïó£¬ Ôò ¶Ô Ïó ³¬ ³ö ¶¨ Òå µÄ ·¶ Χ ʱ ×Ô ¶¯ ±» Îö ¹¹£» Èç ¹û ÊÇ ÔÚ ¶Ñ ÉÏ ²ú Éú£¬ Ò² ¾Í ÊÇ Óà ÁËnew Õâ ¸ö ²Ù ×÷ ·û£¬ Ôò ±Ø Ðë ʹ ÓÃdelete ²Ù ×÷ ·û Ïú »ÙCAsyncSocket ¶Ô Ïó¡£ ---- 3.CSocket Àà ±à ³Ì Ä£ ÐÍ ---- ʹ ÓÃCSocket ¶Ô Ïó Éæ ¼°CArchive ºÍCSocketFile Àà ¶Ô Ïó¡£ ÒÔ Ï ½é ÉÜ µÄ Õë ¶Ô ×Ö ½Ú Á÷ ÐÍ Ì× ½Ó ×Ö µÄ ²Ù ×÷ ²½ Öè ÖУ¬ Ö» ÓÐ µÚ3 ²½ ¶Ô ÓÚ ¿Í »§ ·½ ºÍ ·þ Îñ ·½ ²Ù ×÷ ÊÇ ²» ͬ µÄ£¬ Æä Ëû ²½ Öè ¶¼ Ïà ͬ¡£ ---- £¨1£© ¹¹ Ôì Ò» ¸öCSocket ¶Ô Ïó¡£ ---- £¨2£© ʹ Óà Õâ ¸ö ¶Ô Ïó µÄCreate ³É Ô± º¯ Êý ²ú Éú Ò» ¸ösocket ¾ä ±ú¡£ ÔÚ ¿Í »§ ·½ ³Ì Ðò ÖУ¬ ³ý ·Ç Ðè Òª Êý ¾Ý ±¨ Ì× ½Ó ×Ö£¬Create Ò» °ã Çé ¿ö Ï Ӧ ¸Ã ʹ Óà Ĭ ÈÏ ²Î Êý¡£ ¶ø ¶Ô ÓÚ ·þ Îñ ·½ ³Ì Ðò£¬ ±Ø Ðë ÔÚ µ÷ ÓÃCreate ʱ Ö¸ ¶¨ Ò» ¸ö ¶Ë ¿Ú¡£ ×¢ Òâ:CArchive ²» ÄÜ Óë Êý ¾Ý ±¨£¨UDP£© Ì× ½Ó ×Ö Ò» Æð ¹¤ ×÷£¬ Òò ´Ë ¶Ô ÓÚ Êý ¾Ý ±¨ Ì× ½Ó ×Ö£¬CAsyncSocket ºÍCSocket µÄ ʹ Óà ·½ ·¨ ÊÇ Ò» Ñù µÄ¡£ ---- £¨3£© Èç ¹û ÊÇ ¿Í »§ ·½ Ì× ½Ó ×Ö£¬ Ôò µ÷ ÓÃCAsyncSocket ¡ËConnect Óë ·þ Îñ ·½ Ì× ½Ó ×Ö Á¬ ½Ó£» Èç ¹û ÊÇ ·þ Îñ ·½ Ì× ½Ó ×Ö£¬ Ôò µ÷ ÓÃCAsyncSocket ¡ËListen ¿ª ʼ ¼à Ìý À´ ×Ô ¿Í »§ ·½ µÄ Á¬ ½Ó Çë Çó£¬ ÊÕ µ½ Á¬ ½Ó Çë Çó ºó£¬ µ÷ ÓÃCAsyncSocket ¡ËAccept ½Ó ÊÜ Çë Çó£¬ ½¨ Á¢ Á¬ ½Ó¡£ ×¢ Ò⣺Accept ³É Ô± º¯ Êý Ðè Òª Ò» ¸ö РµÄ ²¢ ÇÒ Îª ¿Õ µÄCSocket ¶Ô Ïó ×÷ Ϊ Ëü µÄ ²Î Êý£¬ ½â ÊÍ Í¬ ÉÏ¡£ ---- £¨4£© ²ú Éú Ò» ¸öCSocketFile ¶Ô Ïó£¬ ²¢ °Ñ Ëü ÓëCSocket ¶Ô Ïó ¹Ø Áª Æð À´¡£ ---- £¨5£© Ϊ ½Ó ÊÕ ºÍ ·¢ ËÍ Êý ¾Ý ¸÷ ²ú Éú Ò» ¸öCArchive ¶Ô Ïó£¬ °Ñ Ëü ÃÇ ÓëCSocketFile ¶Ô Ïó ¹Ø Áª Æð À´¡£ ÇÐ ¼ÇCArchive ÊÇ ²» ÄÜ ºÍ Êý ¾Ý ±¨ Ì× ½Ó ×Ö Ò» Æð ¹¤ ×÷ µÄ¡£ ---- (6) ʹ ÓÃCArchive ¶Ô Ïó ÔÚ ¿Í »§ Óë ·þ Îñ ·½ ´« ËÍ Êý ¾Ý¡£ (7) ͨ Ѷ Íê ±Ï ºó£¬ Ïú »ÙCArchive¡¢CSocketFile ºÍCSocket ¶Ô Ïó¡£ ---- ( ×÷ Õß µØ Ö·£º ¹ð ÁÖ µç ×Ó ¹¤ Òµ ѧ Ôº97 ÑУ¬541004; ÊÕ ¸å ÈÕ ÆÚ:1999 Äê7 ÔÂ)
|