即时修改 netty 通道选项
Modifying netty channel options on the fly
在我的 netty 应用程序中,我 bootstrap 一个带有 EpollChannelOption.TCP_MD5SIG
的服务器通道并提供了一个 IP 密钥映射:
Map<InetAddress, byte[]> md5keys = …..//set initial peer-ips and keys
ServerBootstrap b = new ServerBootstrap();
b.group(bossGroup, workerGroup)
.channel(EpollServerSocketChannel.class)
.handler(new LoggingHandler(LogLevel.INFO))
.childHandler(new MyServerInitializer());
b.childOption(ChannelOption.SO_KEEPALIVE, true);
b.childOption(ChannelOption.TCP_NODELAY, true);
b.option(EpollChannelOption.TCP_MD5SIG, md5keys);
是否可以在通道已经激活并为客户端提供服务后更改 md5keys
映射(例如添加新 IP)而不中断与这些客户端的通信?
当然可以 channel.config().setOption(...)
.
在我的 netty 应用程序中,我 bootstrap 一个带有 EpollChannelOption.TCP_MD5SIG
的服务器通道并提供了一个 IP 密钥映射:
Map<InetAddress, byte[]> md5keys = …..//set initial peer-ips and keys
ServerBootstrap b = new ServerBootstrap();
b.group(bossGroup, workerGroup)
.channel(EpollServerSocketChannel.class)
.handler(new LoggingHandler(LogLevel.INFO))
.childHandler(new MyServerInitializer());
b.childOption(ChannelOption.SO_KEEPALIVE, true);
b.childOption(ChannelOption.TCP_NODELAY, true);
b.option(EpollChannelOption.TCP_MD5SIG, md5keys);
是否可以在通道已经激活并为客户端提供服务后更改 md5keys
映射(例如添加新 IP)而不中断与这些客户端的通信?
当然可以 channel.config().setOption(...)
.