tcp 服务器在某一个指定端口监听请求。对每一个连接请求,均新建一个线程来处理,然后再返回监听状态。但当连接请求较多,或服务器较忙的情况下,tcp就需要 请求队列 来处理连接请求。伯克利的tcp实现有以下规则
1.服务端维护一个固定长度的队列,该队列中的连接是已经tcp所接受(已完成3次握手),但还未被应用程序接受
2.应用程序可以指定该队列的长度,通常称为积压值(backlog)。该值必须在0-5之间。
3.当一个新的连接请求(SYN)到达时,首先检查目前的队列中是否还有空间。如果有,则通过3次握手与之建立连接,放入请求队列,此个过程对应用层透明。如果请求队列已满,则直接忽略该请求(SYN)。