- ChannelOption.SO_BACKLOG
Socket参数,服务端接受连接的队列长度,如果队列已满,客户端连接将被拒绝。默认值,Windows为200,其他为128。
属于 ServerSocketChannal 参数,backlog 大小包括了两个队列的大小
包括sync queue - 半连接队列和accept queue - 全连接队列,关注后者即可
1.半连接队列
大小通过 /proc/sys/net/ipv4/tcp_max_syn_backlog 指定,在 syncookies 启用的情况下,逻辑上没有最大值限制,这个设置便被忽略
2.全连接队列
其大小通过 /proc/sys/net/core/somaxconn 指定,在使用 listen 函数时,内核会根据传入的 backlog 参数与系统参数,取二者的较小值
如果 accpet queue 队列满了,server 将发送一个拒绝连接的错误信息到 client。netty 中,可以通过 option(ChannelOption.SO_BACKLOG, 值) 来设置大小