Netty 核心模块组件


Netty 核心模块组件

在这里插入图片描述

Bootstrap、ServerBootstrap

Bootstrap是客户端的引导类,用于配置客户端的一些启动信息,而ServerBootstrap就是服务端的了

Future、ChannelFuture

Netty 中所有的 IO 操作都是异步的,不能立刻得知消息是否被正确处理。但是可以过一会等它执行完成或者直接注册一个监听,具体的实现就是通过 Future 和 ChannelFutures,他们可以注册一个监听,当操作执行成功或失败时监听会自动触发注册的监听事件

Channel

是Netty 网络通信的组件,能够注册到Selector用于执行网络 I/O 操作,不同协议、不同的阻塞类型的连接都有不同的 Channel 类型与之对应。

Selector

将channel注册进来,用于监听它们是否发生selector关心的事件,如果发生了就进行处理

ChannelHandler 及其实现类

它是一个接口,有很多实现类,我们经常需要自定义一个 Handler 类去继承 ChannelInboundHandlerAdapter,然后通过重写相应方法实现业逻辑,这也是真正进行业务处理的地方

Pipeline /ChannelPipeline

  1. ChannelPipeline 是 保存 ChannelHandler 的 List,用于处理或拦截
    Channel 的入站事件和出站操作
  2. 在 Netty 中每个 Channel 都有且仅有一个 ChannelPipeline 与之对应,它们的组成关系如下

    在这里插入图片描述

ChannelHandlerContext

保存 Channel 相关的所有上下文信息,同时关联一个 ChannelHandler 对象,可以从里面拿到很多东西

Unpooled 类

是Netty 提供专门用来操作缓冲区(即 Netty 的数据容器)的工具类。
常用方法:
在这里插入图片描述


文章作者: fFee-ops
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 fFee-ops !
评论
  目录