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
Ïà¹ØÎĵµ£º
ϵͳ»·¾³£ºWindows 7
Èí¼þ»·¾³£ºVisual C++ 2008 SP1 +SQL Server 2005
±¾´ÎÄ¿µÄ£º±àдһ¸öº½¿Õ¹ÜÀíϵͳ
ÕâÊÇÊý¾Ý¿â¿Î³ÌÉè¼ÆµÄ³É¹û£¬ËäÈ»³É¼¨²»¼Ñ£¬µ«ÊÇ×÷ΪÎÒÓÃVC++ ÒÔÀ´±àдµÄ×î´ó³ÌÐò»¹ÊÇ´«µ½ÍøÉÏ£¬ÒÔ¹©²Î¿¼¡£ÓÃVC++ ×öÊý¾Ý¿âÉè¼Æ²¢²»ÈÝÒ×£¬µ«Ò²²»ÊDz»¿ÉÄÜ¡£ÒÔÏÂÊÇÎҵijÌÐò½çÃæ£¬ºóÃæ ......
ÄÜ£¬¾Ö²¿»áÆÁ±ÎÈ«¾Ö¡£ÒªÓÃÈ«¾Ö±äÁ¿£¬ÐèҪʹÓÃ"::"
¾Ö²¿±äÁ¿¿ÉÒÔÓëÈ«¾Ö±äÁ¿Í¬Ãû£¬ÔÚº¯ÊýÄÚÒýÓÃÕâ¸ö±äÁ¿Ê±£¬»áÓõ½Í¬ÃûµÄ¾Ö²¿±äÁ¿£¬¶ø²»»áÓõ½È«¾Ö±äÁ¿¡£¶ÔÓÚÓÐЩ±àÒëÆ÷¶øÑÔ£¬ÔÚͬһ¸öº¯ÊýÄÚ¿ÉÒÔ¶¨Òå¶à¸öͬÃûµÄ¾Ö²¿±äÁ¿£¬±ÈÈçÔÚÁ½¸öÑ»·ÌåÄÚ¶¼¶¨ÒåÒ»¸öͬÃûµÄ¾Ö²¿±äÁ¿£¬¶øÄǸö¾Ö²¿±äÁ¿µÄ×÷ÓÃÓò¾ÍÔÚÄǸöÑ»·ÌåÄÚ¡£
2¡¢ÈçºÎÒýÓ ......
´ó¼Ò¶¼ÖªµÀÔÚUnix/LinuxÖÐÓиömanÃüÁ¿ÉÒÔ²éѯ³£ÓõÄÃüÁº¯Êý¡£¿ÉÊǶÔÓÚÎÒÃÇÕâÑùÖ»ÖªµÀÓÃ"man º¯ÊýÃû"À´²éѯµÄÈËÀ´Ëµ£¬»áÓöµ½ºÜ¶àÎÊÌ⣬±ÈÈ磺
man read£¬ÎÒÏë¿´µÄÊÇANSI CÖÐstdioµÄreadº¯ÊýÔÐͺÍ˵Ã÷£¬Ã»Ïëµ½³öÀ´µÄÈ·ÊÇBASHÃüÁîµÄ˵Ã÷£¬ÕâÊÇÔõô»ØÊ ......
#include <stdio.h>
#include <stdlib.h>
#include <syslog.h>
#include <signal.h>
#include <unistd.h>
#include <string.h>
#include <getopt.h>
#define MAX_READFILE 24
#define MAX_INPUTFILE 10240
char *file ;
void time_out(){
syslog(LOG_INFO,"read inp ......
1.ÒýÑÔ
¡¡¡¡C++ÓïÑԵĴ´½¨³õÖÔÊÇ“a better C”£¬µ«ÊÇÕâ²¢²»Òâζ×ÅC++ÖÐÀàËÆCÓïÑÔµÄÈ«¾Ö±äÁ¿ºÍº¯ÊýËù²ÉÓõıàÒëºÍÁ¬½Ó·½Ê½ÓëCÓïÑÔÍêÈ«Ïàͬ¡£×÷ΪһÖÖÓûÓëC¼æÈݵÄÓïÑÔ£¬C++±£ÁôÁËÒ»²¿·Ö¹ý³ÌʽÓïÑÔµÄÌØµã£¨±»ÊÀÈ˳ÆÎª“²»³¹µ×µØÃæÏò¶ÔÏ󔣩£¬Òò¶øËü¿ÉÒÔ¶¨Òå²»ÊôÓÚÈκÎÀàµÄÈ«¾Ö±äÁ¿ºÍº¯Êý¡£µ«ÊÇ£¬C++±Ï¾ ......