ChannelOption(Channel中的连接参数)
ChannelOption.SOBACKLOG
ChannelOption.SO_BACKLOG对应的是tcp/ip协议listen函数中的backlog参数,服务端处理客户端连接请求是顺序处理的,所以同一时间只能处理一个客户端连接,多个客户端来的时候,服务端将不能处理的客户端连接请求放在队列中等待处理。所以操作系统里一般有两个队列,一个是ACCEPT队列,保存着已经完成了TCP的三次握手的连接,一个SYN队列,服务器正在等待TCP的三次握手完成的队列。BSD派生系统里backlog指的就是SYN队列的大小,在Linux的实现里backlog相对来说就含糊不清了,有些内核版本指的是ACCEPT队列+SYN队列合起来的大小,有的是指SYN队列的大小。但是从Linux2.2开始,backlog的参数行为在Linux2.2中发生了变化,现在它指定等待接受的完全建立的套接字的队列长度,而不是不完整的连接请求的数量,不完整套接字队列的最大长度可以使用/proc/sys/net/ipv4/tcp_max_sync_backlog设置,默认128。如果backlog参数大于/proc/sys/net/core/somaxconn 中的值,那么它会被静默截断为值128.在2.4.25之前的内核中,此限制是硬编码值,后续内核版本也可以通过vim /etc/sysctl.conf来修改,包括前面说的tcp_max_sync_backlog也可以在此处修改,然后通过命令sysctl -p生效