Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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


Ïà¹ØÎĵµ£º

C³ÌÐòÖÐÍ·ÎļþÏ໥°üº¬¾«»ª£¨ÍøÕªÐ¡½á£©

.hÖÐÒ»°ã·ÅµÄÊÇͬÃû.cÎļþÖж¨ÒåµÄ±äÁ¿¡¢Êý×é¡¢º¯ÊýµÄÉùÃ÷£¬ÐèÒªÈÃ.cÍⲿʹÓõÄÉùÃ÷¡£
1)hÎļþ×÷ÓÃ
1 ·½±ã¿ª·¢:°üº¬Ò»Ð©ÎļþÐèÒªµÄ¹²Í¬µÄ³£Á¿,½á¹¹,ÀàÐͶ¨Òå,º¯Êý,±äÁ¿ÉêÃ÷£»
2 Ìṩ½Ó¿Ú:¶ÔÒ»¸öÈí¼þ°üÀ´Ëµ¿ÉÒÔÌṩһ¸ö¸øÍâ½çµÄ½Ó¿Ú(ÀýÈç: stdio.h)¡£
 
2)hÎļþÀïÓ¦¸ÃÓÐʲô
    ³£Á¿,½á¹¹,ÀàÐ ......

ºìÆìLinux 6.0SP3Õýʽ·¢²¼£¡

ÂÜÀòÊÀ½ç ¸úÄúÒ»Æð¿´ÊÀ½ç http://lolier.info/ ¹Ø¼ü×Ö ºìÆì,linux,ÏÂÔØ ºìÆìLinux×ÀÃæ°æ 6.0 SP3 µÄÓ¢ÎÄÃû³ÆÎªRed Flag Linux Desktop 6.0 SP3,²úÆ·´úºÅ(Code Name)ÊÇSuetJade¡£»ù±¾ÏµÍ³»ùÓÚºìÆì×ÀÃæ°æ 6.0 SP2¡£SuetJadeÊǺìÆìÈí¼þ¹«Ë¾Õë¶ÔÔ­ºìÆìLinux×ÀÃæ°æ 6.0 SP2 ²úÆ·´æÔÚµÄÎÊÌâ,ÒÔ¼°µç×ÓÕþÎñ¡¢½ÌÓý¡¢SMBÓÈÆäÊÇOEMµÈÁì ......

Linux³£ÓÃÃüÁî

1¡¢free ²é¿´·þÎñÆ÷µÄÄÚ´æ·ÖÅäÇé¿ö
2¡¢resin ¼ò½é£º
 ps -elf|grep java    //²é¿´½ø³Ì resinÆô¶¯Çé¿ö
 ps -elf|grep java
 ll               //²é¿´½Å±¾Æô¶¯ÁÐ±í£¨ÒªÆô¶¯µÄÎļþÁÐ±í£©
 dl _jsp
 // ......

UÅÌװϵͳ(Linux)

°ÑUÅ̳̿ɹâÅÌ£¨ÒÔubuntu9.10ΪÀý£©
ǰÌ᣺µçÄÔÖ§³ÖUÅÌÆô¶¯£¬ÓÐЩµçÄÔÊDz»Ö§³ÖµÄ¡£
¿ªÊ¼ÖÆ×÷
Ò»¡¢²ÄÁÏ£º
UltraISO£¨Èíµúͨ£©Èí¼þ
ubuntu 9.10 iso
uÅÌ£¨ÍƼö1GÒÔÉÏ£©¡£
¶þ¡¢²Ù×÷ƽ̨£º
windows xp/vista £ÛÎÒÊÇÔÚvistaÏÂÖÆ×÷µÄ£¬±ØÐëÓùÜÀíԱȨÏÞ´ò¿ªUltraISO£¨Èíµúͨ£©£Ý£¨ÓÒ»÷Æä¿ì½Ý·½Ê½£¬ÒÔ¹ÜÀíÔ±Éí·Ö´ò¿ª£©
˵ ......

linuxÇý¶¯Ö® linux2.6.14.1 ÒÆÖ²½øÈ¥8900Íø¿¨Çý¶¯

ΪÁ˴nfsϵͳ,...ËùÒÔ ±ØÐëÔÚÄÚºËÒÆÖ²ºÃÍø¿¨Çý¶¯. ÎÒ¿¿.ÕÕÏÂÃæ×ö,Ò»´ÎÄܳɹ¦.
ÎÒµÄÖ÷°åÊÇÓÑÉÆÖ®±Û 2410. »·¾³ÊÇ vmware+ubuntu
LINUX2.6.14ÏÂCS8900µÄÒÆÖ²£¨Fs2410£©
 
1.
(ÎļþÔÚÎÒµÄÏÂÔØ°æÓÐ)
¿½±´Îļþcs8900.c cs8900.hµ½ linux2.6.14.1/drivers/net
½øÈëĿ¼cs8900
cp cs8900.c ../linux-2.6.14.1/dri ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ