listen

Autres langues

Langue: ja

Version: 1993-07-23 (openSuse - 09/10/07)

Autres sections - même nom

Section: 2 (Appels système)

̾Á°

listen - ¥½¥±¥Ã¥È(socket)¾å¤ÎÀܳ¤òÂÔ¤Ä

½ñ¼°

#include <sys/socket.h>

int listen(int sockfd, int backlog);

ÀâÌÀ

Àܳ¤ò¼õ¤±ÉÕ¤±¤ë¤¿¤á¤Ë¡¢¥½¥±¥Ã¥È¤ÏºÇ½é¤Ë socket(2) ¤ÇÀ¸À®¤µ¤ì¤ë¡£ Æþ¤Ã¤Æ¤¯¤ëÀܳ¤Î¤¿¤á¤Î¥­¥å¡¼¤ÎºÇÂçĹ¤Ï listen() ¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤¿¤¢¤È¡¢Àܳ¤¬ accept(2) ¤Ë¤è¤Ã¤Æ¼õ¤±ÉÕ¤±¤é¤ì¤ë¡£ listen() ¥³¡¼¥ë¤Ï SOCK_STREAM ·¿¤Þ¤¿¤Ï SOCK_SEQPACKET ·¿¤Î¥½¥±¥Ã¥È¤Î¤ß¤ËŬÍѤǤ­¤ë¡£

backlog °ú¤­¿ô¤Ï¡¢ÊÝαÃæ¤ÎÀܳ¤Î¥­¥å¡¼¤¬³ÈÄ¥¤¹¤ë¤³¤È¤Î¤Ç¤­¤ëºÇÂçŤò»ØÄꤹ¤ë¡£ ¥­¥å¡¼¤¬¤¤¤Ã¤Ñ¤¤¤Î¾õÂÖ¤ÇÀܳÍ׵᤬ÅþÃ夹¤ë¤È¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï ECONNREFUSED ¤È¤¤¤¦¥¨¥é¡¼¤ò¼õ¤±¼è¤ë¡£²¼°ÌÁؤΥץí¥È¥³¥ë¤¬ºÆÁ÷¿®¤ò¥µ¥Ý¡¼¥È ¤·¤Æ¤¤¤ì¤Ð¡¢Í×µá¤Ï̵»ë¤µ¤ì¡¢¥ê¥È¥é¥¤¤¬À®¸ù¤¹¤ë¤«¤â¤·¤ì¤Ê¤¤¡£

ÊÖ¤êÃÍ

À®¸ù»þ¤Ë¤Ï0¤òÊÖ¤¹¡£¥¨¥é¡¼»þ¤Ë¤Ï -1¤òÊÖ¤·¡¢ errno ¤òŬÀÚ¤ËÀßÄꤹ¤ë¡£

¥¨¥é¡¼

EADDRINUSE
Ê̤Υ½¥±¥Ã¥È¤¬´û¤ËƱ¤¸¥Ý¡¼¥È¤ò listen ¤·¤Æ¤¤¤ë¡£
EBADF
°ú¤­¿ô sockfd ¤ÏÍ­¸ú¤Ê¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¤Ç¤Ï¤Ê¤¤¡£
ENOTSOCK
°ú¤­¿ô sockfd ¤Ï¥½¥±¥Ã¥È¤Ç¤Ï¤Ê¤¤¡£
EOPNOTSUPP
¥½¥±¥Ã¥È¤Ï listen() ¤¬¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë·¿¤Ç¤Ï¤Ê¤¤¡£

½àµò

4.4BSD, POSIX.1-2001. listen() ´Ø¿ô¤Ï 4.2BSD¤Ç½é¤á¤Æ¼ÂÁõ¤µ¤ì¤¿¡£

Ãí°Õ

TCP ¥½¥±¥Ã¥È¤Ç¤Î backlog °ú¿ô¤Î¿¶¤ëÉñ¤¤¤Ï Linux 2.2 ¤ÇÊѹ¹¤µ¤ì¤¿¡£ ¸½ºß¤Ç¤Ï¤³¤Î°ú¿ô¤Ï¡¢ ¼õ¤±ÉÕ¤±¤é¤ì¤ë¤Î¤òÂԤäƤ¤¤ë¡¢ ´°Á´¤Ë ³ÎΩ¤µ¤ì¤¿¥½¥±¥Ã¥È¤Î¥­¥å¡¼¤ÎŤµ¤ò»ØÄꤹ¤ë¡£ °ÊÁ°¤ÏÉÔ´°Á´¤ÊÀܳÍ×µá¤Î¿ô¤Ç¤¢¤Ã¤¿¤¬¡¢¤³¤ì¤òÃÖ¤­´¹¤¨¤¿¡£ ÉÔ´°Á´¤Ê¥½¥±¥Ã¥È¤Î¥­¥å¡¼¤ÎºÇÂçĹ¤Ï sysctl ´Ø¿ô¤Î tcp_max_syn_backlog ¤òÍѤ¤¤Æ¥»¥Ã¥È¤¹¤ë¡£ syncookie ¤¬Í­¸ú¤Ë¤Ê¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢ ÏÀÍýŪ¤ËºÇÂçĹ¤Ï¸ºß¤»¤º¡¢ sysctl ´Ø¿ô¤Ë¤è¤ëÀßÄê¤Ï̵»ë¤µ¤ì¤ë¡£

¥Ð¥°

¥½¥±¥Ã¥È¤¬ AF_INET ·¿¤Ç¤¢¤ê¡¢ backlog °ú¤­¿ô¤¬ SOMAXCONN Äê¿ô (Linux 2.0 ¤È 2.2 ¤Ç¤Ï 128) ¤è¤ê¤âÂ礭¤±¤ì¤Ð¡¢backlog ¤Ï°ÅÌۤΤ¦¤Á¤Ë SOMAXCONN ¤ËÀÚ¤êµÍ¤á¤é¤ì¤ë¡£

Îã

bind(2) »²¾È¡£

´ØÏ¢¹àÌÜ

accept(2), bind(2), connect(2), socket(2)