2012-12-27 93 views
3

Netty中3我可以處理ChannelUpstreamHandler打開/關閉事件,如的Netty 4手柄通道事件

pipeline.addLast("channelGroupHandler", new SimpleChannelUpstreamHandler() { 
    public void channelOpen(ChannelHandlerContext ctx, ChannelStateEvent e) { 
    ... 
    } 

    public void channelDisconnected(ChannelHandlerContext ctx, ChannelStateEvent e) { 
    ... 
    } 
}); 

但Netty中4這是行不通的。那麼,我現在如何處理這些事件呢?

回答

5

如果檢查New and noteworthy in 4.0你可以看到:

  • 在3.x中,當一個新的連接Channel創建至少三個ChannelStateEvents被觸發:channelOpenchannelBoundchannelConnected。當Channel關閉時,至少還有3個:channelDisconnected,channelUnboundchannelClosed

  • 在4.x中,channelOpen,channelBoundchannelConnected已合併爲channelActive。否則,channelDisconnected,channelUnboundchannelClosed已合併爲channelInactive

您應該使用新的API,就是這樣。

2

看起來像新的類Netty中4使用的是ChannelInboundHandlerAdapter

​​