《Linux函數調用手冊》之___listen等待連接
定義:
int listen(int s,int backlog);
表頭文件:
#include<sys/socket.h>
說明:
listen()用來等待參數s 的socket連線。參數backlog指定同時能處理的最大連接要求, 如果連接數目達此上限則client端將收到ECONNREFUSED的錯誤。Listen()并未開始接收連線, 只是設置socket為listen模式, 真正接收client端連線的是accept()。通常listen()會在socket(), bind()之后調用, 接著才調用accept()。
返回值:
成功則返回0, 失敗返回-1, 錯誤原因存于errno
相關函數:
socket, bind, accept, connect
錯誤代碼:
EBADF 參數sockfd非合法socket處理代碼
EACCESS 權限不足
EOPNOTSUPP 指定的socket并未支援listen模式。
附加說明:
listen()只適用SOCK_STREAM或SOCK_SEQPACKET的socket類型。如果socket為AF_INET則參數backlog最大值可設至128。
示例:
執行:
$ ./listen
connect from 127.0.0.1
hi I am client
connected closed.
返回頂部 | 《Linux函數調用大全》 | 《Linux命令大全》 | Linux專欄 广西11选五走势图彩经网