c/c++ʵÏÖÒ»¸öÃܼ¯ÐÍserver/socket¶à·¸´ÓÃselect
×÷Ò»¸ötcpµÄ·þÎñ³ÌÐò£¬Í¬Ê±¿ÉÄÜÓдóÁ¿µÄ¿Í»§¶ËÁ¬ÉÏÀ´£¬Ï£Íû·Ö±ð¼Çס¸÷¸ösocket
ËÓÐÊý¾Ý¹ýÀ´£¬¾Í¶Á³öÀ´£¬·Åµ½Ò»¸öÇëÇó¶ÓÁУ£ÕâЩÊÂÇéÓÃÒ»¸öÏß³ÌÍê³É
ÁíÍâÓÐÒ»¸ö½á¹û¶ÓÁУ¬Èç¹û½á¹ûÀï°üº¬ÁËsocketµÄ±àºÅ£¬ÓÃÒ»¸öÏß³ÌרÃÅ£º
È¡³öÀ´°´±àºÅÕÒ»ØÔÀ´·¢ËÍÕßsocket£¬·¢»Ø¸øÔÀ´µÄ¿Í»§¶Ë
»¹ÓÐÒ»¸ö¾ÍÊÇ´¦ÀíỊ̈߳¨³Ø£©£¬ËüÈ¡³öÇëÇó¶ÓÁÐÀïµÄÒ»¸öÇëÇ󣬽øÐд¦Àí£¬
°Ñ´¦Àí½á¹û·ÅÈë½á¹û¶ÓÁÐ
²»ÖªµÀÓÐûÓÐÏֳɵĿò¼Ü£¿
ÍøÉÏÖ»ÕÒµ½Ò»Ð©ºÜ¡£¡£¡£µÄ£º
http://fanqiang.chinaunix.net/a4/b7/20010508/112359.html
LinuxÍøÂç±à³Ì--9. ·þÎñÆ÷Ä£ÐÍ
http://linuxc.51.net ×÷Õß:hoyt (2001-05-08 11:23:59)
ѧϰ¹ý¡¶Èí¼þ¹¤³Ì¡·°É.Èí¼þ¹¤³Ì¿ÉÊÇÿһ¸ö³ÌÐòÔ±"±ØÐÞ"µÄ¿Î³Ì°¡.Èç¹ûÄãûÓÐѧϰ¹ý, ½¨ÒéÄãÈ¥¿´Ò»¿´. ÔÚÕâÒ»ÕÂÀïÃæ,ÎÒÃÇÒ»ÆðÀ´´ÓÈí¼þ¹¤³ÌµÄ½Ç¶ÈÑ§Ï°ÍøÂç±à³ÌµÄ˼Ïë.ÔÚÎÒÃÇд³ÌÐò֮ǰ, ÎÒÃǶ¼Ó¦¸Ã´ÓÈí¼þ¹¤³ÌµÄ½Ç¶È¹æ»®ºÃÎÒÃǵÄÈí¼þ,ÕâÑùÎÒÃÇ¿ª·¢Èí¼þµÄЧÂʲŻá¸ß. ÔÚÍøÂç³ÌÐòÀïÃæ,Ò»°ãµÄÀ´Ëµ¶¼ÊÇÐí¶à¿Í»§»ú¶ÔÓ¦Ò»¸ö·þÎñÆ÷.ΪÁË´¦Àí¿Í»§»úµÄÇëÇó, ¶Ô·þÎñ¶ËµÄ³ÌÐò¾ÍÌá³öÁËÌØÊâµÄÒªÇó.ÎÒÃÇѧϰһÏÂĿǰ×î³£ÓõķþÎñÆ÷Ä£ÐÍ.
Ñ»··þÎñÆ÷:Ñ»··þÎñÆ÷ÔÚͬһ¸öʱ¿ÌÖ»¿ÉÒÔÏìÓ¦Ò»¸ö¿Í»§¶ËµÄÇëÇó
²¢·¢·þÎñÆ÷:²¢·¢·þÎñÆ÷ÔÚͬһ¸öʱ¿Ì¿ÉÒÔÏìÓ¦¶à¸ö¿Í»§¶ËµÄÇëÇó
9.1 Ñ»··þÎñÆ÷:UDP·þÎñÆ÷
UDPÑ»··þÎñÆ÷µÄʵÏַdz£¼òµ¥:UDP·þÎñÆ÷ÿ´Î´ÓÌ×½Ó×ÖÉ϶Áȡһ¸ö¿Í»§¶ËµÄÇëÇó,´¦Àí, È»ºó½«½á¹û·µ»Ø¸ø¿Í»§»ú.
¿ÉÒÔÓÃÏÂÃæµÄËã·¨À´ÊµÏÖ.
socket(...);
bind(...);
while(1)
{
recvfrom(...);
process(...);
sendto(...);
}
ÒòΪUDPÊÇ·ÇÃæÏòÁ¬½ÓµÄ,ûÓÐÒ»¸ö¿Í»§¶Ë¿ÉÒÔÀÏÊÇռס·þÎñ¶Ë. Ö»Òª´¦Àí¹ý³Ì²»ÊÇËÀÑ»·, ·þÎñÆ÷¶ÔÓÚÿһ¸ö¿Í»§»úµÄÇëÇó×ÜÊÇÄܹ»Âú×ã.
9.2 Ñ»··þÎñÆ÷:TCP·þÎñÆ÷
TCPÑ»··þÎñÆ÷µÄʵÏÖÒ²²»ÄÑ:TCP·þÎñÆ÷½ÓÊÜÒ»¸ö¿Í»§¶ËµÄÁ¬½Ó,È»ºó´¦Àí,Íê³ÉÁËÕâ¸ö¿Í»§µÄËùÓÐÇëÇóºó,¶Ï¿ªÁ¬½Ó.
Ëã·¨ÈçÏÂ:
&nb
Ïà¹ØÎĵµ£º
ÄÜ£¬¾Ö²¿»áÆÁ±ÎÈ«¾Ö¡£ÒªÓÃÈ«¾Ö±äÁ¿£¬ÐèҪʹÓÃ"::"
¾Ö²¿±äÁ¿¿ÉÒÔÓëÈ«¾Ö±äÁ¿Í¬Ãû£¬ÔÚº¯ÊýÄÚÒýÓÃÕâ¸ö±äÁ¿Ê±£¬»áÓõ½Í¬ÃûµÄ¾Ö²¿±äÁ¿£¬¶ø²»»áÓõ½È«¾Ö±äÁ¿¡£¶ÔÓÚÓÐЩ±àÒëÆ÷¶øÑÔ£¬ÔÚͬһ¸öº¯ÊýÄÚ¿ÉÒÔ¶¨Òå¶à¸öͬÃûµÄ¾Ö²¿±äÁ¿£¬±ÈÈçÔÚÁ½¸öÑ»·ÌåÄÚ¶¼¶¨ÒåÒ»¸öͬÃûµÄ¾Ö²¿±äÁ¿£¬¶øÄǸö¾Ö²¿±äÁ¿µÄ×÷ÓÃÓò¾ÍÔÚÄǸöÑ»·ÌåÄÚ¡£
2¡¢ÈçºÎÒýÓ ......
¸Õ¸ÕÍê³ÉµÄC¶ÁÈ¡ÎļþÒ»ÐÐÊý¾Ý£¬¿ÉÒÔ¶Á´óÁ¿Êý¾ÝµÄÐС£
/*
º¯Êý¹¦ÄÜ£º
¶ÁÈ¡ÎļþµÄÒ»ÐУ¬µ±¿ª±ÙÄÚ´æ²»¹»Ê±returnֵΪ-1,size»á¸ø³öÖÁÉÙÐèÒªµÄÄÚ´æ´óС£¬
returnֵΪ1ʱ±íʾ´ËʱÎļþ½áÊø£¬´Óbuffer,sizeµÃµ½×îºóÒ»ÐеÄÊý¾ÝºÍ´óС¡£
ÊäÈë²ÎÊý£º
stream£ºÎļþÁ÷
......
¾¹ýÑéÖ¤¿ÉÒÔʵÏÖ£¬ÏȽ«ÊµÏÖ´úÂëÌù³ö£¬ÒÔ±¸ÒÔºóʹÓá£
±¾ÎÄĬÈÏÄãµÄjava¿ª·¢»·¾³ÒѾ°²×°³É¹¦£¬²¢ÇÒ¶ÔÓÚjavaÓïÑÔºÍc++ÓïÑÔÓйýÁ˽⡣
±àд²âÊÔÓÃÀࣺDemo.java
´úÂëÈçÏ£º
public class Demo
{
public static int COUNT = 8;
private String msg;
private int[] counts;
......
1.ÒýÑÔ
¡¡¡¡C++ÓïÑԵĴ´½¨³õÖÔÊÇ“a better C”£¬µ«ÊÇÕâ²¢²»Òâζ×ÅC++ÖÐÀàËÆCÓïÑÔµÄÈ«¾Ö±äÁ¿ºÍº¯ÊýËù²ÉÓõıàÒëºÍÁ¬½Ó·½Ê½ÓëCÓïÑÔÍêÈ«Ïàͬ¡£×÷ΪһÖÖÓûÓëC¼æÈݵÄÓïÑÔ£¬C++±£ÁôÁËÒ»²¿·Ö¹ý³ÌʽÓïÑÔµÄÌØµã£¨±»ÊÀÈ˳ÆÎª“²»³¹µ×µØÃæÏò¶ÔÏ󔣩£¬Òò¶øËü¿ÉÒÔ¶¨Òå²»ÊôÓÚÈκÎÀàµÄÈ«¾Ö±äÁ¿ºÍº¯Êý¡£µ«ÊÇ£¬C++±Ï¾ ......
Ç°ÃæµÄÎÄÕ¡¶´î½¨»ùÓÚ NetBeans µÄ OpenGL ¿ª·¢»·¾³¡·Ìáµ½ÁË NetBeans ºÍ MinGW µÄÅäÖ㬵±Ê±¼ÇµÃºÃÏñÒÔǰд¹ý²½Ö裬¾ÍËæÊÖÂÔ¹ýÁË¡£½ñÌìÊÕµ½ÍøÓѵÄÌáÐѲŷ¢ÏÖÊÇÎҼǴíÁË£¬ÔÚÕâÀï²¹ÉÏ£¬Í¬Ê±Ð»Ð»Ä㣡
¡¡¡¡²½ÖèÈçÏ£º
ÏÂÔØ×Ô¶¯ MinGW °²×°³ÌÐò£¬Õâ¶Ô³õѧÕßÀ´ËµÊDZȽϷ½±ãµÄ·½Ê½£¬È±µã¾ÍÊÇÏÂÔØËÙ¶ÈÂýµÃ²»ÈçÎÏÅ£¡£
ÔËÐ ......