-
listen
(c語言函數)
鎖定
listen在套接字函數中表示讓一個套接字處於監聽到來的連接請求的狀態
- 中文名
- listen
- 類 別
- C語言函數
- 頭文件
- <sys/listen.h> 或<winsock.h>
- 函數聲明
- int listen(SOCKET sockfd,int backlog)
listen頭文件
linux:<sys/listen.h>
listen函數聲明
linux
int listen(int fd, int backlog);
windows
int listen(SOCKET sockfd, int backlog);
listen功能
listen函數使用主動連接套接字變為被連接套接口,使得一個進程可以接受其它進程的請求,從而成為一個服務器進程。在TCP服務器編程中listen函數把進程變為一個服務器,並指定相應的套接字變為被動連接。
listen函數一般在調用bind之後-調用accept之前調用。
listen參數
sockfd 一個已綁定未被連接的套接字描述符
backlog 連接請求隊列(queue of pending connections)
的最大長度(一般由2到4)。用SOMAXCONN則為系統給出的最大值
listen返回值
無錯誤,返回0,
listen説明
(1) 執行listen 之後套接字進入被動模式。
(2) 隊列滿了以後,將拒絕新的連接請求。客户端將出現連接D 錯誤WSAECONNREFUSED。
(3) 在正在listen的套接字上執行listen不起作用。
listen例子
if(listen(sock,5) == -1) { printf("error listening on socket\n"); }