2013-11-21 57 views
1

我有一個SimpleChannelInboundHandler它處理了幾個HTTP請求:channelalactive何時用keepalive調用?

CacheServerHandler extends SimpleChannelInboundHandler<FullHttpRequest> 

的時候,不明確地關閉通道/連接和存活是真實的,將channelInactive被稱爲每channelRead0完成後的時間?

或者channelInactive只在通道/連接關閉時才被調用一次?

我問這個,因爲當http連接上的keepalive爲true時,連接不會被客戶端關閉,客戶端可以發送多個請求而不打開/關閉連接。

回答

5

只有在通道關閉時纔會調用ChannelInactive()。這是合同。

+0

感謝諾曼清理它,函數名稱確實讓我有點困惑。 – TinusSky

+0

Channel.attr在channelInactive中仍然有效嗎? – catinred

+0

是的,我們不會在斷開時刪除它們 –