本文主要分析listen()的内核实现,包括它的系统调用.Socket层实现.半连接队列,以及监听哈希表. 内核版本:3.6 Author:zhangskd @ csdn blog 应用层 int listen(int sockfd, int backlog); Accept incoming connections and a queue limit for incoming connections. backlog的定义 Now it specifies the queue length f
listen函数仅仅由TCP服务器调用,它做2件事: 1)当socket函数创建一个套接字时,它被假设为一个主动套接字,也就是说,它是一个将调用connect发起连接的客户套接字 listen函数把一个未连接的套接字转换成一个被动套接字,指示内核应接受指向该套接字的连接请求 调用listen导致套接字从CLOSED状态转换到LISTEN状态 2)本函数的第二个参数规定了内核应该为相应套接字排队的最大连接个数 int listen ( int sockfd, int backlog); 本函数在调