Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ÓÃCSocket¹¹½¨C/S½á¹¹

תÌûhttp://www.cppblog.com/bidepan2023/archive/2008/01/22/41632.html
CSocketÅÉÉúÓÚCAsyncSocket, ËùÓÐÊ©ÖîÓÚÉϵIJÙ×÷½ÔΪͬ²½²Ù×÷¡£±ÈÈçConnnect,ReceiveµÈ¡£
ͬ²½²Ù×÷µÄÓŵãÊǼòµ¥Ò×Ó㬵«È±µãÒ²ÏÔ¶øÒ×¼û£¬Ð§ÂʵÍÏ£¬ÒòΪÄã±ØÐëµÈµ½Ò»¸ö²Ù×÷Íê³ÉÖ®ºó²ÅÄܽøÐÐÏÂÒ»¸ö²Ù×÷¡£
Èç¹ûÄãºÜ¹ØÐÄЧÂÊ£¬¾ÍÓ¦¸ÃÓÅÏÈʹÓÃCAsyncSocket¡£·´Ö®¾ÍÓÃCSocket¡£
ÏÂÃ潫˵Ã÷ÈçºÎÓÃCSocket´´½¨¼òµ¥µÄ·þÎñÆ÷ºÍ¿Í»§¶Ë¡£
[´´½¨·þÎñÆ÷]
·þÎñÆ÷µÄÔË×÷ÓÐ5¸ö½×¶Î:
1. ´´½¨·þÎñÆ÷Socket²¢¿ªÆô¼àÌý¡£
2. »ñȡеĿͻ§¶ËÁ¬½ÓSocket£¬½«Ö®¼ÓÈë¿Í»§¶ËSocketÁбíÒÔ¹ÜÀíÖ®¡£
3. ¿Í»§¶ËSocket¶ÁÈ¡Êý¾Ý²¢·¢ËÍÊý¾Ý¡£
4. ¿Í»§¶ËÁ¬½Ó±»¶¯¹Ø±Õ£¬´ÓÁбíɾ³ý¡£
5. ³ÌÐò¹Ø±Õ£¬½ø¶ø·þÎñÆ÷Á¬½ÓÖ÷¶¯¹Ø±Õ¡£
ΪÁËά³Ö5½×¶ÎµÄÔË×÷£¬ÐèÒªÁ½ÖÖSocketЭͬ¹¤×÷, µÚÒ»ÖÖÓÃ×÷·þÎñÆ÷¼àÌý£¨¸ºÔð²½Öè1£¬2£¬5£©£¬µÚ¶þÖÖÓÃ×÷¿Í»§¶Ë¹ÜÀí£¨¸ºÔð²½Öè3£¬4£©¡£
Á½ÖÖSocket½ÔÅÉÉú×ÔCSocket, ͨ¹ýÖØд²»Í¬µÄCSocket³ÉÔ±º¯ÊýÒÔʵÏÖ²»Í¬µÄ¹¦ÄÜ¡£
Ç°ÕßÐèÒªÔÚ·þÎñÆ÷³õʼ»¯½×¶Î´´½¨³öÀ´CSocket::Create()²¢¿ªÆô¼àÌýCSocket::Listen()£¨²½Öè1£©¡£²¢ÔÚ·þÎñÆ÷Í˳öʱÖ÷¶¯¹Ø±ÕÁ¬½ÓCSocket::Close()£¨²½Öè5£©¡£
Ç°Õß»¹ÐèÒªÖØдOnAcceptÒÔÔÚеĿͻ§¶ËÁ¬½Óµ½À´Ê±±»Í¨Öª£¬Í¬Ê±²úÉú¿Í»§¶Ë¹ÜÀíSocket£¨²½Öè2£©¡£
ºóÕßÐèÒªÖØдOnReceiveÒÔÔÚÓÐÊý¾Ýµ½À´Ê±±»Í¨Öª£¬»òÖØдOnCloseÒÔÔÚÁ¬½Ó±»¶¯¹Ø±Õ£¨¿Í»§¶Ë¹Ø±Õ£©Ê±±»Í¨Öª£¨²½Öè3£¬4£©¡£
¶ÁдÊý¾ÝÐèÒªCSocketFileÒÔ¼°CArchieveµÄÖ§³Ö¡£Ç°Õß½«CSocketµ±×÷Ò»¸öÎļþ£¬ºóÕßÔòÍê³ÉÔÚ´ËÎļþÉϵĶÁд²Ù×÷¡£
ͨ³£ÄãÐèÒªÌí¼ÓÒ»¸öCSocketFile³ÉÔ±£¬Á½¸öCArchieve³ÉÔ±£¨Ò»¸öÓÃÓÚ¶Á£¬Ò»¸öÓÃÓÚд£©£¬È»ºóÔÚSocket´´½¨Íê³Éºó³õʼ»¯ÕâЩ³ÉÔ±
socketFile_ = new CSocketFile( this ); // ÔÚarchive´´½¨³öÀ´ºó»ù±¾ÉϾͲ»ÐèÒª²Ù×÷ËûÁË£¬Ö±µ½Socket¹Ø±Õ
archiveIn_ = new CArchive( socketFile_, CArchive::load ); // ÓÃÓÚ¶Á
archiveOut_ = new CArchive( socketFile_, CArchive::store ); // ÓÃÓÚÈ¡
²¢ÔÚOnRecevieÖÐÓÃarchiveIn_¶ÁÈ¡Êý¾Ý£¬ÓÃarchiveOut_дÈëÊý¾Ý¡£ÏñÕâÑù£º
int value;
archiveIn_ >> value;
archiveOut_ << value * value;
ÏÂÃæÊDZȽÏÍêÕûµÄServer¶ËµÄÔ´´úÂë:
//---------------------------------------------------------------------------------
// CServerDoc.cpp
//-----------------------------------------------------------------------


Ïà¹ØÎĵµ£º

¸ßˮƽC³ÌÐòÔ±ÐÞÑø

ÔÚ´óÐÍCÓïÑÔÏîÄ¿¹¤³Ì»òÕßlinuxÄÚºËÖÐÎÒÃǶ¼»á¾­³£¼ûµ½Á½¸öFASTCALLºÍarmlinkage
Á½¸ö±êʶ·û(ÐÞÊηû)£¬ÄÇôËüÃǸ÷ÓÐʲô²»Í¬ÄØ£¿½ñÌì¾Í¸ø´ó¼Ò¹²Í¬·ÖÏíÒ»ÏÂ×Ô¼ºµÄÐĵÃ.
     ´ó¼Ò¶¼ÖªµÀÔÚ±ê×¼CϵÖк¯ÊýµÄÐβÎÔÚʵ¼Ê´«Èë²ÎÊýµÄʱºò»áÉæ¼°µ½²ÎÊý´æ·ÅµÄÎÊÌ⣬ÄÇôÕâЩ²ÎÊý´æ·ÅÔÚÄÄÀïÄØ£¿ ÓÐÒ»¶¨ÀíÂÛ»ù´¡µÄ ......

ѧϰlinuxϵÄc/c++±à³Ì

ѧϰlinuxϵÄc/c++±à³Ì  
1£¬ÏÈÓÐlinux»·¾³
´îminGWºÍcygwin¶¼ÓеãÂé·³£¬×î×î¼òµ¥µÄ°ì·¨»¹ÊÇ×°¸öÕæÕýµÄlinux£¬ÓÃÐéÄâ»úÒ²ºÃ£¬ÔÚÍøÂçÉϵÄÁíһ̨»úÆ÷Ò²ºÃ¡£ÕâÑù²»½ö¿ì£¬¶øÇÒÄãÓÐÁËÕæÕýµÄ»·¾³¡£
2.»áC/C++ÓïÑÔ£¨¹À¼ÆÄã»áµÄ£©
3.ÈëÃŽ׶ÎÊìϤgccÃüÁîÐУ¬×î»ù±¾µÄ²ÎÊý£¬È磬-g,-W,-O,-o,-c ½¨Òé¿´man gcc(ºÜ´óÕÒÏ ......

c/c++³ÌÐòµÄÄÚ´æ·ÖÅä [ת]

Ìâ¼Ç£º
ËùÓеÄÍêÃÀ£¬¶¼ÊÇÔÚ±ÀÀ£µÄÒ»¿Ì´ïµ½µÄ£¡
ÎÒÒ»Ö±»Ø±Ü³ÌÐòµÄÄÚ´æ¹ÜÀí£¬ÒòΪ°®Ö®ÓúÉºÞÖ®ÓúÁÒ¡£µ«ÊÇ£¬»¹ÊÇÓɺܶàµÄÅóÓÑÒ»Ö±ÔÚÌåÕâ·½ÃæµÄÎÊÌ⣬ËùÒÔ¾ÍË÷ÐÔ°ÑËü̹°×ÁË£¬Ò²Ðí¶ÔÄãÎÒ¶¼ÊÇÒ»¼þºÃÊÂÇé¡£
Ê×ÏÈ£¬ÐèÒª¸ãÇå³þ£º±äÁ¿µÄÀàÐͺÍËüµÄ´æ´¢Àà±ðÊÇÁ½¸ö¸ÅÄî¡£
Êý¾ÝÀàÐͺÍÄÚ´æ¹ÜÀíûÓÐÖ±½ÓµÄ¹Øϵ¡£
Ò»¸öÓÉc/C++±à ......

£¨c primer plusµÚÎå°æ£©Ñ§Ï°±Ê¼Ç

 
 
µÚÒ»Õ¸ÅÀÀ
CÊÇÒ»ÖÖ±àÒëÐ͵ÄÓïÑÔ
±àÒëÐÍ£º¾ÍÊÇ°ÑcÓïÑÔ±àÒë³É¼ÆËã»úÄÜÔËÐеĻúÆ÷´úÂë
²»Í¬µÄ¼ÆËã»úϵͳÓÐן÷×ԵıàÒëÆ÷£¬À´°Ñc±àÒë³É¶ÔÓ¦µÄ»úÆ÷´úÂë
ÌØÐÔ£º´úÂë¸ßЧ£¬¿ÉÒÆÖ²£¬¹¦ÄÜÇ¿´óºÍÁé»î
ȱµã£º´úÂë¸ñʽ×ÔÓÉ£¨ÌرðÊÇÖ¸ÕëµÄʹÓã©
 
CÓïÑÔÔËÐеÄÆ߸ö²½Ö裺
1.     ¶¨Ò ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ