#include<sys/types.h>
#include<sys/socket.h>
int listen(int sockfd,int backlog);
作用:把主动套接字变成被动套接字
参数:
sockfd:通过socket()函数拿到的fd
backlog:同时允许几路客户端和服务器进行正在连接的过程(正在三次握手)一般填5, 测试得知,ARM最大为8
返回值:
成功:0
出错:-1
内核中服务器的套接字fd会维护2个链表: 1. 正在三次握手的的客户端链表(数量=2*backlog+1) 2.已经建立好连接的客户端链表(已经完成3次握手分配好了newfd) |
---|
例如:listen(fd, 5); //表示系统允许11(=2*5+1)个客户端同时进行三次握手 |