Я начинаю как в Java Socket Programming, так и в Netty. В настоящее время у нас есть приложение, в котором используется чистая Java Socket Connection, где мы сами управляем здоровьем сокета.
Я хочу понять, как netty управляет сокетами? Как долго порт будет открыт? Что произойдет, если соединение сокета упадет? Как Netty поддерживает сеанс tcp?
Netty полностью прозрачен в отношении управления основными деталями сокета tcp.
Как долго порт будет открыт?
Netty позволяет вам установить SO_TIMEOUT на канал - это в основном свойство tcp, которое вызывает предупреждения о тайм-аутах чтения, и вы можете написать код для ответа на это и отказаться от соединения, если хотите.
См. ChannelOptions
Что произойдет, если соединение сокета упадет?
Если вы используете SimpleChannelUpstreamHandler, будет channelDisconnected(ChannelHandlerContext ctx, ChannelStateEvent e)
его channelDisconnected(ChannelHandlerContext ctx, ChannelStateEvent e)
.
См. SimpleChannelUpstreamHandler
Как Netty поддерживает сеанс tcp?
Не уверен точно, что вы имеете в виду, но в основном это та же самая механика, которая используется в протоколе tcp.