Provided by: manpages-zh_1.5.2-1_all bug

NAME 名稱
       listen - listen for connections on a socket 在一個套接字上傾聽連接

SYNOPSIS 概述
       #include <sys/socket.h>

       int listen(int s, int backlog);

DESCRIPTION 描述
       在接收連接之前,首先要使用   socket(2)   創建一個套接字,然後調用  listen
       使其能夠自動接收到來的連接並且為連接隊列指定一個長度限制.
       之後就可以使用  accept(2)  接收連接.   listen  調用僅適用於 SOCK_STREAM
       或者 SOCK_SEQPACKET 類型的套接字.

       參數                                                            backlog
       指定未完成連接隊列的最大長度.如果一個連接請求到達時未完成連接
       隊列已滿,那麼客戶端將接收到錯誤                           ECONNREFUSED.
       或者,如果下層協議支持重發,那麼這個連接請求將被忽略,這樣客戶端
       在重試的時候就有成功的機會.

NOTES 注意
       在TCP套接字中        backlog        的含義在Linux        2.2中已經改變.
       它指定了已經完成連接正等待應用程式接收的套接字隊列的長度,而不是
       未完成連接的數目.未完成連接套接字隊列的最大長度可以使用
       tcp_max_syn_backlog                                          sysctl設置
       當打開syncookies時不存在邏輯上的最大長度,此設置將被忽略.參見     tcp(7)
       以獲取更多信息.

RETURN VALUE 返回值
       函數執行成功時返回0.錯誤時返回-1,並置相應錯誤代碼.  errno

ERRORS 錯誤
       EBADF  參數 s 不是合法的描述符.

       ENOTSOCK
              參數 s 不是一個套接字.

       EOPNOTSUPP
              套接字類型不支持 listen 操作.

CONFORMING TO 相容於
       Single Unix, 4.4BSD, POSIX 1003.1g.  listen 函數調用最初出現於4.2BSD.

BUGS 勘誤
       如果套接字類型是  AF_INET,  並且參數  backlog 大於常量 SOMAXCONN (Linux
       2.0&2.2中是128),它將被自動截斷為            SOMAXCONN             的值.
       有的BSD系統(以及一些BSD擴展)將backlog值限制為5.

SEE ALSO 參見
       accept(2), connect(2), socket(2)

[中文版維護人]
       byeyear <love_my_love@263.net >

[中文版最新更新]
       2002.01.27

《中國linux論壇man手冊頁翻譯計劃》:
       http://cmpp.linuxforum.net