在Solaris上的Netty中设置TCP_KEEPALIVE_THRESHOLD

时间:2015-10-21 10:46:30

标签: tcp netty

如下面的文档中所述,Solaris支持为每个套接字设置TCP_KEEPALIVE_THRESHOLD和TCP_KEEPALIVE_ABORT_THRESHOLD:

https://docs.oracle.com/cd/E19120-01/open.solaris/819-2724/fsvdh/index.html

我们正在使用Netty将SO_KEEPALIVE设置为true并更改OS中的间隔:

  

ndd -set / dev / tcp tcp_keepalive_interval 1440000

Netty中是否有任何方法可以为每个插槽设置keepalive等待/中止间隔?如果没有,我们可以使用任何接口或本机方法吗?

1 个答案:

答案 0 :(得分:0)

来自documentation

方法选项():

  

允许指定用于Channel的ChannelOption   实例一旦创建。使用null值删除a   之前设置的ChannelOption

我认为应该使用的另一个解决方案是获取ServerBootstrap对象并使用以下命令设置选项false:

...
ServerBootstrap b = new ServerBootstrap();
                b.group(bossGroup, workerGroup)
                 .channel(NioServerSocketChannel.class)
                 .option(ChannelOption.SO_KEEPALIVE, false)
                 .handler(new LoggingHandler(LogLevel.INFO))
...

它应该在Netty 4和5中有效。希望它有帮助:)