Netty 核心组件 ChannelPipeline

柔情只为你懂 2023-10-01 16:44 96阅读 0赞

Netty 核心组件 ChannelPipeline 梳理

  • 一、概念
  • 二、断点调试
    • 1.插入语句
    • 2.从头向尾
    • 3.从尾向头

一、概念

  1. 1. Netty 中每个 Channel 都有且仅有一个 ChannelPipeline 与之对应;
  2. 2.ChannelPipeline,相当于 ChannelHandler 的集合;是 AbstractChannelHandlerContext 实现的一个双向链表
  3. AbstractChannelHandlerContext 实现了 ChannelHandlerContext 接口
  4. 入站事件,从链表头向尾依次传递
  5. 出站事件,从链表尾向头依次传递
  6. (头与尾是相对概念,理解数据流是在管道内依次传递即可)
  7. 3.管道会带有一个默认的头尾节点
  8. 4.常用方法:
  9. 从头添加: ChannelPipeline addFirst(String name, ChannelHandler handler);
  10. 从指定位置前面加入:ChannelPipeline addBefore(String baseName, String name, ChannelHandler handler);
  11. 从指定位置后面加入:ChannelPipeline addAfter(String baseName, String name, ChannelHandler handler);
  12. 从尾加入: ChannelPipeline addLast(String name, ChannelHandler handler);

二、断点调试

1.插入语句

  1. pipeline.addLast("mid",new HttpServerCodec());
  2. pipeline.addAfter("mid","after",new NettyServerHttpHandler());
  3. pipeline.addBefore("mid","before",new HttpClientCodec());

2.从头向尾

在这里插入图片描述

3.从尾向头

在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,96人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Netty 核心组件

    Netty 核心组件 1. 前言 本节我们主要从整体上了解 Netty 有哪些核心组件,很多同学学习完 Netty 虽然会使用,但是只知道如何自定义 Handler

    相关 netty全部核心组件

    看看netty为我们提供的核心组件 一 1. channel:netty中把一个端到端的通信定义为了通道。所谓的端包含但不限于硬件设备,文件。这是对通信的第一层抽象。通

    相关 Netty核心组件

    Netty的核心组件   Channel   回调   Future   事件   ChannelHandler   这些模块代表了不同的类型:资源(事件)、逻