Netty概念之ChannelEvent

ChannelEvent
      一个i/o事件关联一个Channel,ChannelEvent在ChannelPipeline中被一系列的ChannelHandler处理。
每个事件要么是upstream event(上游事件),要么是downstream event(下游事件),如果一个事件从管道中的第一个处理器游向最后一个处理器,我们叫它上游事件;如果一个事件从管道中的最后一个事件游向第一个事件,我们叫它下游事件,看ChannelPipeline的图就明白多了。具体点说,服务器接收一个信息,这个接收信息的事件叫上游事件;服务器发送一个信息,这个发送信息的事件叫下游事件。这个规则同样适用于客户端,在客户端接收信息的事件叫上游事件,发送信息的事件叫下游事件。以下是事件举例:
      上游事件:messageReceived、exceptionCaught、channelOpen、channelClosed、channelBound、channelUnbound、channelConnected、writeComplete、channelDisconnected、channelInterestChanged,还有两个额外的事件只用于父通道(可以有子通道的):childChannelOpen、childChannelClosed;
      下游事件:write、bind、unbind、connect、disconnect、close;
值得一提的是,Channel中没有open事件,这是因为Channel在被创建后总是开着的。

猜你喜欢

转载自jianhui06.iteye.com/blog/1821787