listen函数
1)头文件
#include <sys/types.h>
#include <sys/socket.h>
2)函数声明形式
int listen(int sockfd, int backlog);
3)函数功能
将套接字文件从主动文件描述符变为被动文件描述符,用于被动监听客户的连接
4)函数返回
成功返回0,失败返回-1
函数参数
sockfd参数
socket函数所返回的套接字文件描述符
backlog参数
指定队列容量,此队列用于记录正在连接但还未连接上的客户,一般将队列容量指定为2,3就可以了
示例:
ret = listen(sockfd,3);
函数说明
1)listen函数并不是监听函数,其只是将套接字文件描述符变为被动描述符,用于监听
2)由于服务器与客户端必须建立三次握手的连接,且这个连接请求是由客户端发起的,服务器是被动接收,所以在TCP中,只有服务器会调用listen函数将主动文件描述符转被动