Netty3 源码分析 - ChannelEvent

本文深入分析Netty3的ChannelEvent,包括上行和下行事件的概念。上行事件源于客户端消息,由UpstreamChannelHandler处理;下行事件涉及服务器响应,由DownstreamChannelHandler处理。事件对应于入站和出站操作,影响Channel的状态变迁。了解这些事件对于理解和使用Netty至关重要。
摘要由CSDN通过智能技术生成
Netty3 源码分析 - ChannelEvent

     ChannelEvent是和这个Channel相关的IO事件和请求,会由各个ChannelHandler来处理。
     事件分为上行和下行两种。当服务器从客户端收到一个消息,那么与之相关的就是一个上行事件(upstream event),流水线中的UpstreamChannelHandler会处理它;如果服务要回应这个客户端,那么与响应消息对应的就是下行事件,pipeline中的DownstreamChannelHandler会处理。站在客户端角度同样很容易理解。上行事件通常是入站操作( inbound operations)的结果,如 InputStream.read(byte[]),下行事件通常是请求出站操作( outbound operations)比如 OutputStream.write(byte[]), Socket.connect(SocketAddress), and Socket.close()。
上行事件及发生时机

Event name

Event type and condition

Meaning

"messageReceived"

MessageEvent

a message object (e.g. ChannelBuffer) was received from a remote peer

"exceptionCaught"

ExceptionEvent

an exception was raised by an I/O thread or a ChannelHandler

"channelOpen"

ChannelStateEvent
(state = OPEN, value = true)

Channel is open, but not bound nor connected

Be aware that this event is fired from within the I/O thread. You should never execute any heavy operation in there as it will block the dispatching to other workers!

"channelClosed"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值