頭檔案
#include <sys/types.h>
#include <sys/socket.h>
函式聲明
int listen(SOCKET sockfd, int backlog);
功能
listen函式使用主動連線套接字變為被連線套接口,使得一個進程可以接受其它進程的請求,從而成為一個伺服器進程。在TCP伺服器編程中listen函式把進程變為一個伺服器,並指定相應的套接字變為被動連線。
listen函式一般在調用bind之後-調用accept之前調用。
參數
sockfd 一個已綁定未被連線的套接字描述符
backlog 連線請求佇列(queue of pending connections)
的最大長度(一般由2到4)。用SOMAXCONN則由
系統確定。
返回值
無錯誤,返回0,
否則,返回SOCKET ERROR,可以調用函式WSAGetLastError取得錯誤代碼。
說明
(1) 執行listen 之後套接字進入被動模式。
(2) 佇列滿了以後,將拒絕新的連線請求。客戶端將出現連線D 錯誤WSAECONNREFUSED。
(3) 在正在listen的套接字上執行listen不起作用。