Netty 参数配置
1.SO_BACKLOG作用服务端配置参数用于设置服务器监听套接字的连接请求队列的最大长度。用途控制的是已完成三次握手但尚未被 accept() 处理的连接队列的大小。如果这个队列满了新的连接请求会被拒绝导致客户端连接失败。配置方式ServerBootstrapbootstrapnewServerBootstrap();bootstrap.option(ChannelOption.SO_BACKLOG,1024);2.SO_REUSEADDR作用服务端配置参数用于允许重用本地地址和端口。用途在服务器重启时避免因端口被占用而无法启动。配置方式bootstrap.option(ChannelOption.SO_REUSEADDR,true);3.SO_KEEPALIVE作用服务端配置参数用于启用 TCP 的保活机制检测连接是否仍然有效。用途在长时间无数据交换的情况下检测连接是否断开。配置方式bootstrap.childOption(ChannelOption.SO_KEEPALIVE,true);4.TCP_NODELAY作用服务端配置参数用于禁用 Nagle 算法减少延迟。用途适用于对实时性要求高的场景如游戏、即时通讯。配置方式bootstrap.childOption(ChannelOption.TCP_NODELAY,true);5.SO_RCVBUF 和 SO_SNDBUF作用服务端配置参数用于设置接收和发送缓冲区的大小。用途调整网络缓冲区大小以适应不同的网络环境和应用需求。配置方式bootstrap.childOption(ChannelOption.SO_RCVBUF,32*1024);// 32KBbootstrap.childOption(ChannelOption.SO_SNDBUF,32*1024);// 32KB6.CONNECT_TIMEOUT_MILLIS作用客户端配置参数用于设置客户端连接超时时间。用途控制客户端尝试连接服务器的最大等待时间。配置方式bootstrap.option(ChannelOption.CONNECT_TIMEOUT_MILLIS,5000);// 5秒7.WRITE_BUFFER_WATER_MARK作用服务端配置参数用于控制写缓冲区的高低水位线。用途防止因写缓冲区溢出导致的性能问题。配置方式bootstrap.childOption(ChannelOption.WRITE_BUFFER_WATER_MARK,newWriteBufferWaterMark(32*1024,64*1024));8.SO_TIMEOUT作用服务端配置参数用于设置 Socket 的读取超时时间。用途控制阻塞式 I/O 操作的超时时间。配置方式bootstrap.childOption(ChannelOption.SO_TIMEOUT,30000);// 30秒9.ALLOCATOR 和 RCVBUF_ALLOCATOR作用服务端配置参数用于设置内存分配器和接收缓冲区分配器。用途优化内存使用和分配策略。配置方式bootstrap.option(ChannelOption.ALLOCATOR,PooledByteBufAllocator.DEFAULT);bootstrap.childOption(ChannelOption.RCVBUF_ALLOCATOR,AdaptiveRecvByteBufAllocator.DEFAULT);