C语言listen()函数:等待连接
相关函数:socket, bind, accept, connect
头文件:#include <sys/socket.h>
定义函数:int listen(int s, int backlog);
函数说明:listen()用来等待参数s 的socket 连线. 参数backlog 指定同时能处理的最大连接要求, 如果连接数目达此上限则client 端将收到ECONNREFUSED 的错误. Listen()并未开始接收连线, 只是设置socket 为listen 模式, 真正接收client 端连线的是accept(). 通常listen()会在socket(), bind()之后调用, 接着才调用accept().
返回值:成功则返回0, 失败返回-1, 错误原因存于errno
附加说明:listen()只适用SOCK_STREAM 或SOCK_SEQPACKET 的socket 类型. 如果socket 为AF_INET 则参数backlog 最大值可设至128.
错误代码:
EBADF 参数sockfd 非合法socket 处理代码
EACCESS 权限不足
EOPNOTSUPP 指定的socket 并未支援listen 模式.
头文件:#include <sys/socket.h>
定义函数:int listen(int s, int backlog);
函数说明:listen()用来等待参数s 的socket 连线. 参数backlog 指定同时能处理的最大连接要求, 如果连接数目达此上限则client 端将收到ECONNREFUSED 的错误. Listen()并未开始接收连线, 只是设置socket 为listen 模式, 真正接收client 端连线的是accept(). 通常listen()会在socket(), bind()之后调用, 接着才调用accept().
返回值:成功则返回0, 失败返回-1, 错误原因存于errno
附加说明:listen()只适用SOCK_STREAM 或SOCK_SEQPACKET 的socket 类型. 如果socket 为AF_INET 则参数backlog 最大值可设至128.
错误代码:
EBADF 参数sockfd 非合法socket 处理代码
EACCESS 权限不足
EOPNOTSUPP 指定的socket 并未支援listen 模式.