Netty 4处理频道事件

RzC*_*Der 3 java events netty

在Netty 3中,我可以使用ChannelUpstreamHandler来处理打开/关闭事件

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

  public void channelDisconnected(ChannelHandlerContext ctx, ChannelStateEvent e) {
    ...
  }
});
Run Code Online (Sandbox Code Playgroud)

但在Netty 4中它不起作用.那么,我现在如何处理这个事件呢?

小智 6

如果您在4.0中选中New并且值得注意,您可以看到:

  • 在3.x中,当连接新Channel的至少有三个创建ChannelStateEvents触发:channelOpen,channelBound,和channelConnected.当Channel被关闭时,至少3个以上:channelDisconnected,channelUnbound,和channelClosed.

  • 在4.x版channelOpen,channelBoundchannelConnected已经被合并channelActive.否则channelDisconnected,channelUnboundchannelClosed已合并channelInactive.

你应该使用新的API,就是这样.