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

linux cÓïÑÔ 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²ÎÊýÔÙÅжÏÊÇ·ñ³¬Ê±£¬Èô³¬³ötime


Ïà¹ØÎĵµ£º

GhostÎó²Ù×÷ºóÖ»ÓÐCÅÌ´¦Àí·½·¨

×î½ü¾­³£¿´µ½ÍøÓÑÃDZ§Ô¹ÓÉÓÚ²Ù×÷²»µ±£¬Ê¹ÓÃGHOST»Ö¸´ÏµÍ³ºó·ÖÇø²»¼ûÁË£¬»úÒ²ËÀÁË£¬¼¸ÄêÐÁÐÁ¿à¿àÊղصĶ«¶«Ò²²»¼ûÁË£¬¼¸ºõÌìÌ춼ÓÐÈËÉÏÍøÇóÖú£¬¸ßÊÖ´óÏÀÃÇÕûÌìæÓÚвúÆ·µÄ¿ª·¢£¬²»¿ÉÄÜÓиü¶àʱ¼ä¼°Ê±Ò»Ò»½â´ðÍøÓÑÃǵÄËùÌá³öµÄÎÊÌ⣬Òò´ËÎÒÔÚÍøÉÏ¿´µ½ÁËÕâ¸öÈí¼þ,ÏÖÍƼö¸ø´ó¼ÒʹÓÃ.
ÒÔÏÂÊÇÒ»¸ö¸ßÊֵĴ¦ÀíÕâÀàʹʵľ­¹ý
&nb ......

linux bzip2 ÃüÁîÏê½â

¹¦ÄÜ˵Ã÷£º.bz2ÎļþµÄѹËõ³ÌÐò¡£
Óï¡¡¡¡·¨£ºbzip2 [-cdfhkLstvVz][--repetitive-best][--repetitive-fast][- ѹËõµÈ¼¶][ҪѹËõµÄÎļþ]
²¹³ä˵Ã÷£ºbzip2²ÉÓÃеÄѹËõÑÝËã·¨£¬Ñ¹ËõЧ¹û±È´«Í³µÄLZ77/LZ78ѹËõÑÝËã·¨À´µÃºÃ¡£ÈôûÓмÓÉÏÈκβÎÊý£¬bzip2ѹËõÍêÎļþºó»á²úÉú.bz2µÄѹËõÎļþ£¬²¢É¾³ýԭʼµÄÎļþ¡£
²Î¡¡¡¡Êý£º
¡¡- ......

linux °²×°ÓëʹÓÃMySQL

°²×°ÓëʹÓÃMySQL
Ò» ¡¢ÏÂÔØMySQLµÄ°²×°Îļþ
¡¡¡¡°²×°MySQLÐèÒªÏÂÃæÁ½¸öÎļþ£º
¡¡¡¡MySQL-server-4.0.16-0.i386.rpm
¡¡¡¡MySQL-client-4.0.16-0.i386.rpm
¡¡¡¡ÏÂÔصØַΪ£ºhttp://www.mysql.com/downloads/mysql-4.0.html£¬ ´ò¿ª´ËÍøÒ³£¬ÏÂÀ­ÍøÒ³ÕÒµ½“Linux x86 RPM downloads”ÏÕÒµ½“Server&rdquo ......

linuxϽ¨Á¢isoÎļþ£¨ÓÃmkisofsÃüÁ

Ì«·½±ãÁË£¬Ì«·½±ãÁË¡£¡£
¿´man»á¿´ÔΣ¬Ö±½Ó¿´ÊµÀý£º
ʾ   Àý:
1)½¨Á¢Ó³ÏñÎļþ (°ÑĿ¼aϵÄÄÚÈÝ×ö³ÉisoÎļþ)
$mkisofs  -r -o a.iso    a/
2)½¨Á¢Ó³ÏñÎļþ (°ÑĿ¼aϵÄÄÚÈÝ×ö³ÉisoÎļþ£¬²¢Ö¸¶¨²»°ÑÎļþb.txt·Åµ½isoÖÐ)
$mkisofs -m b.txt -r -o a.iso    a/
3)½¨Á¢Ó³ÏñÎļ ......

linuxϵÄvirtualbox¹²ÏíÎļþ¼Ð

 ¼øÓÚÖ§¸¶±¦µÈ·þÎñÎÞÊÓÎÒÃÇLinuxÓû§µÄ´æÔÚ£¬Ã»°ì·¨£¬ÄÇÖ»ºÃÔÚLinuxÉÏÓÃVirtualBoxÐéÄâÒ»¸öWindowsϵͳÁË¡£ÏµÍ³×°ºÃÁË£¬ÔÚÈÕ³£Ê¹Óùý³ÌÖУ¬ÍùÍùÒª´ÓVirtualBoxµÄ¿Í»§»ú£¨guest system£©ÖÐʹÓÃÖ÷»ú£¨host system£©ÀïÃæµÄÎļþ£¬ÄÇôͨ¹ý¹²ÏíÎļþ¼ÐµÄ·½Ê½¿ÉÒÔ´ï³É´ËÄ¿µÄ¡£
      ÎÒÔÚÕâÀï ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ