LinuxÏÂselectºÍpollµÄÓ÷¨
select()º¯ÊýµÄ×÷ÓÃ
ϵͳµ÷ÓÃselectºÍpollµÄºó¶ËʵÏÖ£¬ÓÃÕâÁ½¸öϵͳµ÷ÓÃÀ´²éѯÉ豸ÊÇ·ñ¿É¶Áд£¬»òÊÇ·ñ´¦ÓÚijÖÖ״̬¡£Èç¹ûpollΪ¿Õ£¬ÔòÇý¶¯É豸»á±»ÈÏΪ¼´¿É¶ÁÓÖ¿Éд£¬·µ»ØÖµÊÇÒ»¸ö״̬ÑÚÂë
ÈçºÎʹÓÃselect()º¯Êý?
select()º¯ÊýµÄ½Ó¿ÚÖ÷ÒªÊǽ¨Á¢ÔÚÒ»ÖÖ½Ð'fd_set'ÀàÐ͵Ļù´¡ÉÏ¡£Ëü('fd_set') ÊÇÒ»×éÎļþÃèÊö·û(fd)µÄ¼¯ºÏ¡£ÓÉÓÚfd_setÀàÐ͵ij¤¶ÈÔÚ²»Í¬Æ½Ì¨Éϲ»Í¬£¬Òò´ËÓ¦¸ÃÓÃÒ»×é±ê×¼µÄºê¶¨ÒåÀ´´¦Àí´ËÀà±äÁ¿£º
fd_set set;
FD_ZERO(&set);
FD_SET(fd, &set);
FD_CLR(fd, &set);
FD_ISSET(fd, &set);
ÔÚ¹ýÈ¥£¬Ò»¸öfd_setͨ³£Ö»Äܰüº¬ÉÙÓÚµÈÓÚ32¸öÎļþÃèÊö·û£¬ÒòΪfd_setÆäʵֻÓÃÁËÒ»¸öintµÄ±ÈÌØÊ¸Á¿À´ÊµÏÖ£¬ÔÚ´ó¶àÊýÇé¿öÏ£¬¼ì²é fd_setÄܰüÀ¨ÈÎÒâÖµµÄÎļþÃèÊö·ûÊÇϵͳµÄÔðÈΣ¬µ«È·¶¨ÄãµÄfd_setµ½µ×ÄܷŶàÉÙÓÐʱÄãÓ¦¸Ã¼ì²é/Ð޸ĺêFD_SETSIZEµÄÖµ¡£*Õâ¸öÖµÊÇϵͳÏà¹ØµÄ*£¬Í¬Ê±¼ì²éÄãµÄϵͳÖеÄselect() µÄmanÊֲᡣÓÐһЩϵͳ¶Ô¶àÓÚ1024¸öÎļþÃèÊö·ûµÄÖ§³ÖÓÐÎÊÌâ¡£[ÒëÕß×¢£º Linux¾ÍÊÇÕâÑùµÄϵͳ£¡Äã»á·¢ÏÖsizeof(fd_set)µÄ½á¹ûÊÇ128(*8 = FD_SETSIZE=1024)¡¡¾¡¹ÜºÜÉÙÄã»áÓöµ½ÕâÖÖÇé¿ö¡£]
selectµÄ»ù±¾½Ó¿ÚÊ®·Ö¼òµ¥£º
int select(int nfds, fd_set *readset, fd_set *writeset,
fd_set *exceptset, struct timeval *timeout);
ÆäÖУº
nfds
ÐèÒª¼ì²éµÄÎļþÃèÊö·û¸öÊý£¬ÊýÖµÓ¦¸Ã±ÈÊÇÈý×éfd_setÖÐ×î´óÊý
¸ü´ó£¬¶ø²»ÊÇʵ¼ÊÎļþÃèÊö·ûµÄ×ÜÊý¡£
readset
ÓÃÀ´¼ì²é¿É¶ÁÐÔµÄÒ»×éÎļþÃèÊö·û¡£
writeset
ÓÃÀ´¼ì²é¿ÉдÐÔµÄÒ»×éÎļþÃèÊö·û¡£
exceptset
ÓÃÀ´¼ì²éÒâÍâ״̬µÄÎļþÃèÊö·û¡£(×¢£º´íÎó²¢²»ÊÇÒâÍâ״̬)
timeout
NULLÖ¸Õë´ú±íÎÞÏ޵ȴý£¬·ñÔòÊÇÖ¸Ïòtimeval½á¹¹µÄÖ¸Õ룬´ú±í×î
³¤µÈ´ýʱ¼ä¡£(Èç¹ûÆäÖÐtv_sec
Ïà¹ØÎĵµ£º
×ÜÀÀ
ÓÃiptables -ADC À´Ö¸¶¨Á´µÄ¹æ
Ôò
£¬-AÌí¼Ó -Dɾ³ý -C ÐÞ¸Ä
iptables - [RI] chain rule num rule-specification[option]
ÓÃiptables - RI ͨ¹ý¹æÔòµÄ˳ÐòÖ¸¶¨
iptables -D chain rule num[option]
ɾ³ýÖ¸¶¨¹æÔò
iptables -[LFZ] [chain][option]
ÓÃiptables -LFZ Á´Ãû [Ñ¡Ïî]
iptables -[NX] chain
ÓÃ -NX ......
1.ʱ¼ä±íʾ
ÔÚ³ÌÐòµ±ÖÐ,ÎÒÃǾ³£ÒªÊä³öϵͳµ±Ç°µÄʱ¼ä,±ÈÈçÎÒÃÇʹÓÃdateÃüÁîµÄÊä³ö½á¹û¡£Õâ¸öʱºòÎÒÃÇ¿ÉÒÔʹÓÃÏÂÃæÁ½¸öº¯Êý
time_t time(time_t *tloc); //ʱ¼ä¾«¶ÈΪÃë
char *ctime(const time_ ......
Ò»¡¢ÏÂÔØVMwareÈí¼þ²¢°²×°
¶þ¡¢¹âÅÌ.iso·½Ê½°²×°linux
Èý¡¢¹²ÏílinuxºÍwindowsĿ¼
ËÄ¡¢½«"±¾µØÁ¬½Ó"ÉèΪ¹²Ïí·½Ê½£¬½ûÖ¹ÆäËûÐéÄâ»úÁ¬½Ó
´ò¿ªÐéÄâ»úÔÚÐéÄâ»ú±à¼ÖÐÉèÖÃΪ'ÇŽÓ"·½Ê½;
²¢Ñ¡ÖÐDevice statusϵÄÁ½ÏֻËùÒÔÓÃÇŽӷ½Ê½²»ÓÃhost-only·½Ê½ÉÏÍøÊÇÒòΪ
ÔÚÓ÷ÓÉÆ÷ʱhost-onl ......
½ñÌìÔÚÐéÄâ»úÏÂÓÖ֨װÁËlinux£¬ÏÂÃæÊÇ´ÓÍøÉÏËѵ½µÄlinuxÐéÄâ»úµÄÍøÂçÅäÖãº
1¡¢ Äã×°ºÃÐéÄâ»úºó,Äã»á·¢ÏÖ¶à³öÀ´Á½¸öÍø¿¨ ,Ò»¸ö1,Ò»¸ö8,
2¡¢ ¹²Ïí¶ÔÍâµÄÍø¿¨£º“±¾µØÁ¬½Ó—ÊôÐÔ—¸ß¼¶” Ñ¡ÖÐ
ÔÊÐíÆäËûÍøÂçÓû§Í¨¹ý´Ë¼ÆËã»úµÄInternetÁ¬½ÓÀ´Á¬½Ó
£¨Õâʱ“ÔÊÐíÆäËûÍ ......
modprobeÃüÁî±ÈinsmodÃüÁîÇ¿´ó£¬ËüÔÚ¼ÓÔØÄ³Ä£¿éʱ»áͬʱ¼ÓÔØ¸ÃÄ£¿éËùÒÀÀµµÄÆäËûÄ£¿é¡£Ê¹ÓÃmodprobeÃüÁî¼ÓÔØµÄÄ£¿éÈôÒÔ“modprobe –r filename”µÄ·½Ê½Ð¶Ôؽ«Í¬Ê±Ð¶ÔØÆäÒÀÀµµÄÄ£¿é¡£
printk´òÓ¡µ½var/log/messages
2.6ÄÚºËÖÐÒѼÓÔØµÄÐÅÏ¢Ò²´æÔÚÓÚ/sys/moduleĿ¼Ï£¬¼ÓÔØhello.koºó£¬ÄÚºËÖн«°üº¬/sys/mod ......