2015-10-21 2 views
0

Как уже упоминалось в документации ниже, Solaris поддерживает установку TCP_KEEPALIVE_THRESHOLD и TCP_KEEPALIVE_ABORT_THRESHOLD за сокет:Установка TCP_KEEPALIVE_THRESHOLD в Нетти на Solaris

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

Мы используем Нетти, чтобы установить SO_KEEPALIVE истина и меняющегося интервал в ОС:

NDD -set/DEV/TCP tcp_keepalive_interval 1440000

Есть ли способ в Netty установить интервал ожидания/прерывания keepalive на каждый сокет? Если нет, есть ли какой-либо интерфейс или собственный метод, который мы можем использовать для этого?

ответ

0

От documentation:

метод Вариант():

Позволяет указать ChannelOption, который используется для канала случаев, когда они получили создано. Используйте значение NULL для удаления предыдущего набора ChannelOption

Другого решения, я думаю, должен работать, это получить ServerBootstrap объект и установить опцию ложного использование:

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

Она должно работать в Нетти 4 и 5. Надеюсь, что это поможет :)

Смежные вопросы