Как нетти управляют здоровьем Socket

1

Я начинаю как в Java Socket Programming, так и в Netty. В настоящее время у нас есть приложение, в котором используется чистая Java Socket Connection, где мы сами управляем здоровьем сокета.

Я хочу понять, как netty управляет сокетами? Как долго порт будет открыт? Что произойдет, если соединение сокета упадет? Как Netty поддерживает сеанс tcp?

Теги:
sockets
netty

1 ответ

3
Лучший ответ

Netty полностью прозрачен в отношении управления основными деталями сокета tcp.

Как долго порт будет открыт?

Netty позволяет вам установить SO_TIMEOUT на канал - это в основном свойство tcp, которое вызывает предупреждения о тайм-аутах чтения, и вы можете написать код для ответа на это и отказаться от соединения, если хотите.

См. ChannelOptions

Что произойдет, если соединение сокета упадет?

Если вы используете SimpleChannelUpstreamHandler, будет channelDisconnected(ChannelHandlerContext ctx, ChannelStateEvent e) его channelDisconnected(ChannelHandlerContext ctx, ChannelStateEvent e).

См. SimpleChannelUpstreamHandler

Как Netty поддерживает сеанс tcp?

Не уверен точно, что вы имеете в виду, но в основном это та же самая механика, которая используется в протоколе tcp.

  • 0
    SO_TIMEOUT - тайм-аут чтения. Это не приводит к разрыву соединения, и Netty не будет наблюдать его, так как он находится в неблокирующем режиме.
  • 0
    @EJP - поправил себя. Спасибо за указание. Netty также имеет режим блокировки, если кто-то хочет использовать.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню