Netty 核心模块组件

Myth丶恋晨 2023-10-03 09:48 82阅读 0赞

Netty 核心模块组件

    • Bootstrap、ServerBootstrap
    • Future、ChannelFuture
    • Channel
    • Selector
    • ChannelHandler 及其实现类
    • Pipeline /ChannelPipeline
    • ChannelHandlerContext
    • Unpooled 类

在这里插入图片描述

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 的数据容器)的工具类。
常用方法:
在这里插入图片描述

发表评论

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

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

相关阅读

    相关 Netty 核心组件

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

    相关 netty全部核心组件

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

    相关 Netty核心组件

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