2013-11-21 3 views
1

У меня есть SimpleChannelInboundHandler, который обрабатывает несколько запросов HTTP:Когда channelInactive вызывается с keepalive?

CacheServerHandler extends SimpleChannelInboundHandler<FullHttpRequest> 

Когда я явно не закрывать канал/соединение и KeepAlive верно, будет channelInactive вызываться каждый раз после того, как channelRead0 делается?

Или channelInactive будет вызываться один раз, когда канал/соединение закрыто?

Я спрашиваю об этом, потому что, когда keepalive является истинным при http-соединении, соединение не закрывается клиентом, и клиент может отправлять несколько запросов без открытия/закрытия соединения.

ответ

5

ChannelInactive() вызывается только при закрытии канала. Это договор.

+0

Спасибо Norman за его очистку, название функции действительно немного смутило меня. – TinusSky

+0

Действительно ли Channel.attr действует в channelInactive? – catinred

+0

да, мы не удаляем их при отключении –

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