ChannelOption参数
ChannelOption.SO_BACKLOG
参数类型number
,TCP/IP协议linten
函数中backlog
参数,listen(int socketfd,int backlog)
用来初始化服务端可连接队列,服务端处理客户端队列连接请求是顺序处理,同一时间只能处理一个客户端连接,多个客户端的时候,服务端将不能处理的客户端连接请求放在队列中等待处理,backlog
指定了队列的大小。
ChannelOption.SO_REUSEADDR
参数类型bool
,对应套接字的SO_REUUSEADDR
,这个参数配置是否可以重复时候本地地址和端口。
ChannelOption.SO_KEEPALIVE
参数类型bool
,对应套接字的SO_KEEPALIVE
,用于设置TCP连接时候开启测试,开启时会测试链接状态,如果两个小时没有数据通信时,TCP会自动发送一个活动探测数据报文。
ChannelOption.TCP_NODELAY
参数类型bool
,对应套接字的TCP_NODELAY
,用与设置Nagle算法。
Nagle算法是将小的数据包组装为更大的帧然后进行发送,而不是输入一次发送一次,因此在数据包不足的时候就会等待其他数据的到了,组装成大的数据包进行发送,虽然该方式有效提高网络的负载,但是造成了延时。
ChannelOption.SO_SNDBUF
参数类型number
,对应套接字的SO_SNDBUF
,用于设置发送缓存区的大小,发送缓存区用户保存发送数据,直到发送成功。
ChannelOption.SO_RCVBUF
参数类型number
,对应套接字的SO_RCVBUF
,用于设置接收缓存区的大小,接收缓存区用于保存协议内收到的数据,直到应用程序读取成功。
ChannelOption.ALLOCATOR
参数类型object
,用于设置重用缓存区,池化缓存区。