µ±ÎÒÃÇ̸¼°`listen`ÃüÁîÓ뺯Êýʱ£¬²»½ûÒªÉîÈëLinuxÍøÂç±à³ÌµÄºËÐÄÁìÓò£¬Ì½¾¿ÆäÔÚTCP/IPÍøÂçͨÐÅÖеĹؼü×÷ÓÃ
±¾ÎÄÖ¼ÔÚͨ¹ýÏ꾡µÄ½âÎöÓëʵÀý£¬½Òʾ`listen`ÃüÁîÓ뺯ÊýÔÚLinuxϵͳÖеİÂÃØ£¬²¢Ì½ÌÖÆäʵ¼ÊÓ¦ÓÃ
Ò»¡¢Linux`man`Êֲ᣺֪ʶµÄ±¦¿â `man`ÊÇmanualsµÄËõд£¬Ëü²»½öÓÃÓڲ鿴¿ÉÖ´ÐгÌÐòµÄmanual£¬»¹º¸ÇÁ˺¯Êý¡¢ÏµÍ³µ÷ÓõȵÄÏêϸÎĵµ
ͨ¹ý`man`ÃüÁÎÒÃÇ¿ÉÒÔÇáËÉ»ñÈ¡ÌØ¶¨ÃüÁî»òº¯ÊýµÄÓï·¨¡¢Ñ¡Ïî¡¢·µ»ØÖµ¼°´íÎó´¦ÀíµÈÐÅÏ¢
ÀýÈ磬Ҫ²é¿´`listen`º¯ÊýµÄÏêϸÎĵµ£¬Ö»ÐèÔÚÖÕ¶ËÖÐÊäÈë`man listen`¼´¿É
`man`ÊÖ²áµÄÄÚÈÝÒÔgroff±ê×¼·½Ê½±àд£¬È»ºóѹËõΪgz¸ñʽ´æ·Åµ½Ö¸¶¨Ä¿Â¼
Òª²é¿´Ìض¨ÃüÁî»òº¯ÊýµÄmanÊֲᣬÊ×ÏÈÐèҪȷ±£¸ÃÊÖ²áÒ³ÒÑÕýÈ·°²×°²¢Î»ÓÚ`man`ÃüÁîµÄËÑË÷·¾¶ÖÐ
ͨ¹ý`manpath`ÃüÁî»ò²é¿´ÅäÖÃÎļþ£¨Èç`/etc/man_db.conf`£©£¬ÎÒÃÇ¿ÉÒÔ»ñÈ¡`man`ÊÖ²áµÄ´æ´¢Â·¾¶
¶þ¡¢`listen`º¯Êý£ºTCP·þÎñÆ÷µÄÊØ»¤Éñ ÔÚLinuxÍøÂç±à³ÌÖУ¬`listen`º¯Êý°çÑÝ×ÅÖÁ¹ØÖØÒªµÄ½ÇÉ«
Ëü½«Ò»¸öÖ÷¶¯Á¬½ÓÌ×½Ó×Öת±äΪ±»¶¯Á¬½ÓÌ×½Ó×Ö£¬Ê¹µÃ½ø³ÌÄܹ»½ÓÊÜÆäËû½ø³ÌµÄÁ¬½ÓÇëÇ󣬴Ӷø³ÉΪһ¸ö·þÎñÆ÷½ø³Ì
ÔÚTCP·þÎñÆ÷±à³ÌÖУ¬`listen`º¯Êý½«½ø³Ìת±äΪ·þÎñÆ÷£¬²¢Ö¸¶¨ÏàÓ¦µÄÌ×½Ó×ÖÓÃÓÚ½ÓÊÜ´«ÈëµÄÁ¬½ÓÇëÇó
`listen`º¯ÊýµÄÔÐÍÈçÏ£º
include
- `backlog`£º¹æ¶¨ÁËÄÚºËӦΪÏàÓ¦Ì×½Ó×ÖÅŶӵÄ×î´óÁ¬½Ó¸öÊý Èç¹ûÉèÖÃΪ`SOMAXCONN`£¬ÔòʹÓÃϵͳ¸ø³öµÄ×î´óÖµ
µ÷ÓÃ`listen`º¯Êýºó£¬Ì×½Ó×Ö½«´ÓCLOSED״̬ת»»µ½LISTEN״̬£¬×¼±¸½ÓÊÜÁ¬½ÓÇëÇó ÄÚºËΪ¼àÌýÌ×½Ó×Öά»¤Á½¸ö¶ÓÁУºÎ´Íê³ÉÁ¬½Ó¶ÓÁкÍÒÑÍê³ÉÁ¬½Ó¶ÓÁРÿµ±ÓÐеÄÁ¬½ÓÇëÇóµ½´ïʱ£¬Äں˻á×Ô¶¯´¦ÀíTCPÈý·ÎÕÊÖ¹ý³Ì£¬²¢½«³É¹¦µÄÁ¬½ÓÌí¼Óµ½ÒÑÍê³ÉÁ¬½Ó¶ÓÁÐÖÐ
`listen`º¯ÊýµÄ·µ»ØÖµÈçÏ£º
- ³É¹¦Ê±·µ»Ø0
- ʧ°Üʱ·µ»Ø-1£¬²¢ÉèÖÃ`errno`ÒÔָʾ´íÎóÔÒò
³£¼ûµÄ´íÎó°üÀ¨`EADDRINUSE`£¨µØÖ·ÒÑÔÚʹÓÃÖУ©¡¢`EBADF`£¨ÎÞЧµÄÎļþÃèÊö·û£©¡¢`ENOTSOCK`£¨ÎļþÃèÊö·û²»ÊÇÌ×½Ó×Ö£©ÒÔ¼°`EOPNOTSUPP`£¨Ì×½Ó×ÖÀàÐͲ»Ö§³Ö`listen`²Ù×÷£©µÈ
Èý¡¢`listen`ÃüÁî£ºÍøÂç¼à¿ØµÄÀûÆ÷£¨×¢£ºÊµ¼ÊLinuxÖÐÎÞÖ±½Ó¶ÔÓ¦ÃüÁ
¾¡¹ÜLinuxϵͳÖÐûÓÐÖ±½ÓÃûΪ`listen`µÄÃüÁîÓÃÓÚÍøÂç¼à¿Ø£¬µ«ÎÒÃÇ¿ÉÒÔ½èÖúÆäËûÃüÁîºÍ¹¤¾ßÀ´ÊµÏÖÀàËÆµÄ¹¦ÄÜ ÀýÈ磬`netstat`ºÍ`ss`ÃüÁî¶¼¿ÉÒÔÓÃÓÚÏÔÊ¾ÍøÂçÁ¬½Ó¡¢Â·ÓÉ±í¼°ÕýÔÚ¼àÌýµÄ¶Ë¿ÚµÈÐÅÏ¢
- `netstat -l`»ò`netstat --listening`£ºÁгöÕýÔÚ¼àÌýµÄ¶Ë¿Ú¼°ÏàÓ¦µÄ½ø³ÌºÍ·þÎñ
- `ss -l`»ò`ss --listening`£º¸üÇ¿´óºÍ¸ßЧµÄÌæ´ú`netstat`µÄ¹¤¾ß£¬ÓÃÓÚÏÔʾÌ×½Ó×ÖÏà¹ØÐÅÏ¢£¬°üÀ¨TCPºÍUDP¶Ë¿ÚµÄ¼àÌýÇé¿ö
´ËÍ⣬`nc`£¨netcat£©ÃüÁîÒ²¿ÉÒÔÉèÖÃΪ¼àÌýģʽ£¬²¢Ö¸¶¨Òª¼àÌýµÄ¶Ë¿Ú ÀýÈ磬`nc -lport`ÃüÁ`nc`ÉèÖÃΪ¼àÌýģʽ£¬²¢¼àÌýÖ¸¶¨µÄ¶Ë¿Ú
ËäÈ»ÕâЩÃüÁîºÍ¹¤¾ß²¢²»Ö±½Ó¶ÔÓ¦`listen`º¯Êý£¬µ«ËüÃÇÔÚÍøÂç¼à¿ØºÍµ÷ÊÔ·½Ãæ·¢»Ó×ÅÖØÒª×÷Ó㬰ïÖúÎÒÃÇÁ˽âÄÄЩӦÓóÌÐòÕýÔÚʹÓÃÄÄЩ¶Ë¿Ú½øÐÐͨÐÅ£¬ÒÔ¼°ÓëÖ®½¨Á¢µÄÁ¬½ÓÊýºÍ״̬
ËÄ¡¢`listen`º¯ÊýµÄÓ¦ÓÃʵ¼ù
ΪÁ˸üÉîÈëµØÀí½â`listen`º¯ÊýµÄÓ¦Óã¬ÒÔÏÂÊÇÒ»¸ö¼òµ¥µÄTCP·þÎñÆ÷ʾÀý´úÂ룺
include