Netty中Channel、ChannelPipeline、ChannelHandler、ChannelHandlerContext之间的关系

引用: https://blog.csdn.net/fstars/article/details/86529379?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&dist_request_id=&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control

20171229150317086.jpg

每一个Channel被创建,就会生成对应的一个ChannelPipeline和它绑定。
ChannelPipeline中包含了一个处理该Channel消息的ChannelHandler链。
当每一个ChannelHandler被注册到该ChannelPipeline中就会生成一个对应的 ChannelHandlerContext,和该ChannelHandler进行绑定。
一个ChannelHandler可以从属于(注册到)多个ChannelPipeline。所以,一个ChannelHandler可以绑定多个ChannelHandlerContext。不过,这样的ChannelHandler必须使用@Sharable注解标注,保证它的线程安全性,否则试图将它注册到多个ChannelHandlerPipeline中时将会抛出异常。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容