Netty17——Pipeline、Handler和HandlerContext的创建

Netty17——Pipeline、Handler和HandlerContext的创建,第1张

Netty17——Pipeline、Handler和HandlerContext的创建

 Netty中的ChannelPipeline、ChannelHandler和ChannelHandlerContext是非常核心的组件。

一、三者间的关系

 每当ServerSocket创建一个新的连接,就会创建一个Socket,对应的就是一个目标客户端;每一个新创建的Socket都会分配一个全新的ChannelPipeline;每个ChannelPipeline内部都含有多个ChannelHandlerContext,这些ChannelHandlerContext组成了一个双向链表,用于包装我们调用addLast()方法时添加的ChannelHandler。

 ChannelSocket和ChannelPipeline是一对一的关联关系,而ChannlePipeline内部的多个ChannelHandlerContext形成了一个链表,ChannelHandlerContext只是对ChannelHandler的封装。
 当一个请求进来的时候,会进入ChannelSocket对应的ChannelPipeline,并经过ChannelPipeline中所有的ChannelHandler,这里使用了过滤器的设计模式。

二、ChannelPipeline的作用和设计


 ChannelPipeline接口中的核心方法如下:

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5697154.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存