95-36-020-ChannelHandler-ChannelHandler 左手的ㄟ右手 2022-10-13 01:56 117阅读 0赞 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzIxMzgzNDM1_size_16_color_FFFFFF_t_70] # 1. 概述 # `ChannelHandler`并不处理事件,而由其子类代为处理:`ChannelInboundHandler`拦截和处理入站事件,`ChannelOutboundHandler`拦截和处理出站事件。`ChannelHandler`和`ChannelHandlerContext`通过**组合或继承**的方式关联到一起成对使用。事件通过`ChannelHandlerContext`主动调用如`fireXXX()`和`write(msg)`等方法,将事件传播到下一个处理器。注意:入站事件在`ChannelPipeline`双向链表中由头到尾正向传播,出站事件则方向相反。 当客户端连接到服务器时,Netty新建一个`ChannelPipeline`处理其中的事件,而一个`ChannelPipeline`中含有若干`ChannelHandler`。如果每个客户端连接都新建一个`ChannelHandler`实例,当有大量客户端时,服务器将保存大量的`ChannelHandler`实例。为此,Netty提供了`Sharable` [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzIxMzgzNDM1_size_16_color_FFFFFF_t_70]: /images/20221005/3ff0de3e8a2240db9b6890211e8b9c29.png
还没有评论,来说两句吧...