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

linuxÖÐselect()º¯Êý·ÖÎö

linuxÖÐselect()º¯Êý·ÖÎö
SelectÔÚSocket±à³ÌÖл¹ÊDZȽÏÖØÒªµÄ£¬¿ÉÊǶÔÓÚ³õѧSocketµÄÈËÀ´Ëµ¶¼²»Ì«°®ÓÃSelectд³ÌÐò£¬ËûÃÇÖ»ÊÇϰ¹ßдÖîÈçconnect¡¢accept¡¢recv»òrecvfromÕâÑùµÄ×èÈû³ÌÐò£¨Ëùν×èÈû·½Ê½block£¬¹ËÃû˼Ò壬¾ÍÊǽø³Ì»òÊÇÏß³ÌÖ´Ðе½ÕâЩº¯Êýʱ±ØÐëµÈ´ýij¸öʼþµÄ·¢Éú£¬Èç¹ûʼþûÓз¢Éú£¬½ø³Ì»òÏ߳̾ͱ»×èÈû£¬º¯Êý²»ÄÜÁ¢¼´·µ»Ø£©¡£¿ÉÊÇʹÓÃSelect¾Í¿ÉÒÔÍê³É·Ç×èÈû£¨Ëùν·Ç×èÈû·½Ê½non-block£¬¾ÍÊǽø³Ì»òÏß³ÌÖ´Ðд˺¯Êýʱ²»±Ø·ÇÒªµÈ´ýʼþµÄ·¢Éú£¬Ò»µ©Ö´Ðп϶¨·µ»Ø£¬ÒÔ·µ»ØÖµµÄ²»Í¬À´·´Ó³º¯ÊýµÄÖ´ÐÐÇé¿ö£¬Èç¹ûʼþ·¢ÉúÔòÓë×èÈû·½Ê½Ïàͬ£¬ÈôʼþûÓз¢ÉúÔò·µ»ØÒ»¸ö´úÂëÀ´¸æÖªÊ¼þδ·¢Éú£¬¶ø½ø³Ì»òÏ̼߳ÌÐøÖ´ÐУ¬ËùÒÔЧÂʽϸߣ©·½Ê½¹¤×÷µÄ³ÌÐò£¬ËüÄܹ»¼àÊÓÎÒÃÇÐèÒª¼àÊÓµÄÎļþÃèÊö·ûµÄ±ä»¯Çé¿ö——¶Áд»òÊÇÒì³£¡£ÏÂÃæÏêϸ½éÉÜһϣ¡
SelectµÄº¯Êý¸ñʽ(ÎÒËù˵µÄÊÇUnixϵͳϵIJ®¿ËÀûsocket±à³Ì£¬ºÍwindowsϵÄÓÐÇø±ð£¬Ò»»á¶ù˵Ã÷)£º
int select(int maxfdp,fd_set *readfds,fd_set *writefds,fd_set *errorfds,struct timeval *timeout);
ÏÈ˵Ã÷Á½¸ö½á¹¹Ì壺
µÚÒ»£¬struct fd_set¿ÉÒÔÀí½âΪһ¸ö¼¯ºÏ£¬Õâ¸ö¼¯ºÏÖдæ·ÅµÄÊÇÎļþÃèÊö·û(filedescriptor)£¬¼´Îļþ¾ä±ú£¬Õâ¿ÉÒÔÊÇÎÒÃÇËù˵µÄÆÕͨÒâÒåµÄÎļþ£¬µ±È»UnixÏÂÈκÎÉ豸¡¢¹ÜµÀ¡¢FIFOµÈ¶¼ÊÇÎļþÐÎʽ£¬È«²¿°üÀ¨ÔÚÄÚ£¬ËùÒÔºÁÎÞÒÉÎÊÒ»¸ösocket¾ÍÊÇÒ»¸öÎļþ£¬socket¾ä±ú¾ÍÊÇÒ»¸öÎļþÃèÊö·û¡£fd_set¼¯ºÏ¿ÉÒÔͨ¹ýһЩºêÓÉÈËΪÀ´²Ù×÷£¬±ÈÈçÇå¿Õ¼¯ºÏFD_ZERO(fd_set *)£¬½«Ò»¸ö¸ø¶¨µÄÎļþÃèÊö·û¼ÓÈ뼯ºÏÖ®ÖÐFD_SET(int ,fd_set*)£¬½«Ò»¸ö¸ø¶¨µÄÎļþÃèÊö·û´Ó¼¯ºÏÖÐɾ³ýFD_CLR(int,fd_set*)£¬¼ì²é¼¯ºÏÖÐÖ¸¶¨µÄÎļþÃèÊö·ûÊÇ·ñ¿ÉÒÔ¶ÁдFD_ISSET(int ,fd_set* )¡£Ò»»á¶ù¾ÙÀý˵Ã÷¡£
µÚ¶þ£¬struct timevalÊÇÒ»¸ö´ó¼Ò³£ÓõĽṹ£¬ÓÃÀ´´ú±íʱ¼äÖµ£¬ÓÐÁ½¸ö³ÉÔ±£¬Ò»¸öÊÇÃëÊý£¬ÁíÒ»¸öÊǺÁÃëÊý¡£
¾ßÌå½âÊÍselectµÄ²ÎÊý£º
int maxfdpÊÇÒ»¸öÕûÊýÖµ£¬ÊÇÖ¸¼¯ºÏÖÐËùÓÐÎļþÃèÊö·ûµÄ·¶Î§£¬¼´ËùÓÐÎļþÃèÊö·ûµÄ×î´óÖµ¼Ó1£¬²»ÄÜ´í£¡ÔÚWindowsÖÐÕâ¸ö²ÎÊýµÄÖµÎÞËùν£¬¿ÉÒÔÉèÖò»ÕýÈ·¡£
fd_set*readfdsÊÇÖ¸Ïòfd_set½á¹¹µÄÖ¸Õ룬Õâ¸ö¼¯ºÏÖÐÓ¦¸Ã°üÀ¨ÎļþÃèÊö·û£¬ÎÒÃÇÊÇÒª¼àÊÓÕâЩÎļþÃèÊö·ûµÄ¶Á±ä»¯µÄ£¬¼´ÎÒÃǹØÐÄÊÇ·ñ¿ÉÒÔ´ÓÕâЩÎļþÖжÁÈ¡Êý¾ÝÁË£¬Èç¹ûÕâ¸ö¼¯ºÏÖÐÓÐÒ»¸öÎļþ¿É¶Á£¬select¾Í»á·µ»ØÒ»¸ö´óÓÚ0µÄÖµ£¬±íʾÓÐÎļþ¿É¶Á£¬Èç¹ûûÓпɶÁµÄÎļþ£¬Ôò¸ù¾Ýtimeout²ÎÊýÔÙÅжÏÊÇ·ñ³¬Ê±£¬Èô³¬³ötimeoutµÄʱ¼ä£


Ïà¹ØÎĵµ£º

ÔÚlinux»·¾³Ï±àÒëavrµ¥Æ¬»ú³ÌÐò

¿´µ½¹«Ë¾µÄÀÏÍâ¶¼ÊÇÓÃLinux±àÒëAVRµÄ³ÌÐò£¬¸Ð¾õºÜÇ¿£¬¶øÇÒ±¾ÈËÒ²ºÜϲ»¶linux£¬ËùÒÔ¾ö¶¨½øÐÐѧϰ£¬ÏּǼһÏÂѧϰ¹ý³Ì£º
1.±àÒëÎÒÃǵÄËã·¨Îļþ£¬Ò²¾ÍÊÇÀÏÍâÒÔǰ·¢¸øÎÒÃÇÕâ±ßµÄ¹ØÓÚËã·¨µÄ.oÎļþ¡£Óöµ½Ð¡À§ÄÑ£¬Ìáʾfor' loop initial declaration used outside C99 mode
   £¬ ......

linux CentOS 5.3 yumÔ´ÅäÖùý³ÌÏê½â

Ô­Îļû
http://hi.baidu.com/dilijia1002/blog/item/405d8e19407cdc73dab4bd18.html 
1.ÒÔrootÓû§½øÈëCentOSϵͳ¡£
[root@xuxy ~]# cd /etc/yum.repos.d
2.±¸·Ýrepo
[root@xuxy yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak
3.½¨Á¢ÐµÄCentOS-Base.repoÎļþ£º£¨ÒÔCentOS 5.3ΪÀý£©
[root@xuxy yum ......

Linux¸öÈË·À»ðǽµÄÉè¼ÆÓëʵÏÖ


Linux¸öÈË·À»ðǽµÄÉè¼ÆÓëʵÏÖ
http://netsecurity.51cto.com/  2006-02-16 11:25    ¼ÆËã»ú°²È«  ÎÒÒªÆÀÂÛ()
ÕªÒª£º±¾ÎÄÉè¼ÆµÄÊÇÒ»¸ö»ùÓÚLinuxÖ÷»úµÄ°ü¹ýÂËÐ͸öÈË·À»ðǽ£¬ËüʵÏֵŦÄܺÍÏÖ½ñÊг¡ÉÏÁ÷ÐеķÀ»ðǽÓо޴ó²î¾à¡£Ëæ×ż¼ÊõµÄ²»¶Ï·¢Õ¹£¬·À»ðǽҲ´¦ÓÚ²»¶ÏµÄ±ä»¯Ö®ÖС£·À»ðǽ¼¼Êõ¾­ÀúÁ˰ü¹ý ......

¿éÉ豸Çý¶¯ÏòLINUXÒÆÖ²µÄ³£¹æ²½Öè¼°INITRDµÄʹÓÃ

 ÕâÀïÌáµ½µÄ¿éÉ豸·ºÖ¸¸÷ÖÖ¿ÉÒÔʵÏ̶ֹ¨´óСÊý¾ÝËæ»ú´«ÊäµÄÉ豸£¬ÈçFLASH¡¢SD Card¡¢RAMDISKµÈ£¬¿éÉ豸Çý¶¯ÒÆÖ²µÄ¹ý³Ìʵ¼ÊÉÏÊǽ«Ó²¼þ³§ÉÌÌṩµÄµ×²ãÇý¶¯´úÂëÓëLINUXϵͳ¼¯³ÉÆðÀ´µÄ¹ý³Ì¡£
ÔÚLINUXÖУ¬¿éÉ豸Äܹ»ÒÔÎļþϵͳµÄÐÎʽΪOSËù·ÃÎÊ£¬Æä´óÌå¼Ü¹¹ÈçÏ£º
LINUX Application
---------------------------------- ......

LinuxÖеÄmakefieÊéд¹æÔòѧϰ2

 
Èý¡¢makeÊÇÈçºÎ¹¤×÷µÄ
ÔÚĬÈϵķ½Ê½Ï£¬Ò²¾ÍÊÇÎÒÃÇÖ»ÊäÈëmakeÃüÁî¡£ÄÇô£¬
1¡¢make»áÔÚµ±Ç°Ä¿Â¼ÏÂÕÒÃû×ֽГMakefile”»ò“makefile”µÄÎļþ¡£
2¡¢Èç¹ûÕÒµ½£¬Ëü»áÕÒÎļþÖеĵÚÒ»¸öÄ¿±êÎļþ£¨target£©£¬ÔÚÉÏÃæµÄÀý×ÓÖУ¬Ëû»áÕÒµ½“edit”Õâ¸öÎļþ£¬²¢°ÑÕâ¸öÎļþ×÷Ϊ×îÖÕµÄÄ¿±êÎļþ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ