半连接队列:服务端维护的与客户端保持SYN_RECV状态的连接队列,等待客户端回复,当收到客户端ack后,如果条件允许(全连接队列未达到最大值),服务端进入ESTAB状态,从半连接队列移到全连接队列的队尾。
全连接队列:完成三次握手等待accept。完成三次握手即进入了全连接队列的队尾,当进程调用accept时,全连接队列中的队头项将返回给进程,并从队列中移出连接。如果该队列为空,那么进程将被投入睡眠,直到TCP在该队列中放入一项才唤醒它。
在listen(int sockfd, int backlog)中,backlog在Linux 2.2之后表示的是已完成三次握手但还未被应用程序accept的队列长度。
ref
http://blog.51cto.com/59090939/1947443
https://www.jianshu.com/p/ff26312e67a9
https://www.cnblogs.com/liuxinan/p/5917168.html