Netty:IdleStateHandler 三种空闲事件与使用场景2026-10-31技术Netty一、IdleStateHandler 与三种空闲事件 IdleStateHandler 是 Netty 内置的空闲检测 Handler,继承自 ChannelDuplexHandler,因此既能观察入站读活动,也能观察出站写活动。开发时直接创建实例并添加到 Pipeline,不需要自己重新实现它。 2026-10-31|7|0|0
Netty:自定义 TCP 通信协议设计与编解码实现2026-10-312026-10-31技术易混淆概念/Netty一、为什么需要自定义 TCP 协议? TCP 是面向字节流的协议,不保留应用层消息边界。客户端和服务端需要约定统一的消息格式,才能正确识别和解析数据。 自定义协议主要解决: 1. 如何判断一条消息从哪里开始、在哪里结束。 2. 如何区分登录、心跳、业务数据等消息类型。 3. 如何识别协议版本。 4.2026-10-31|7|0|0
Netty:ByteToMessageDecoder 与编解码 Pipeline2026-10-312026-10-31技术Netty一、ByteToMessageDecoder 是什么? ByteToMessageDecoder 不是接口,而是抽象类,继承自 ChannelInboundHandlerAdapter,属于入站 Handler。 它提供字节累积、循环解码等通用能力。开发者可以继承它实现自己的协议解码器,也可以使用 2026-10-31|6|0|0
Netty:ByteBuf 与内存管理原理2026-10-312026-10-31技术Netty一、ByteBuf 是什么 ByteBuf 是 Netty 提供的字节缓冲区抽象,用于保存网络通信中的入站数据和出站数据。TCP 传输的是字节流,Netty 收到数据后,通常会将数据放入 ByteBuf,再交给 Pipeline 中的解码器和业务 Handler 处理。 @Override publ2026-10-31|5|0|0
Netty:常见 ChannelHandler 分类、作用与 WebSocket 处理机制2026-10-31技术易混淆概念/network/Netty一、ChannelHandler 是什么? ChannelHandler 是 Netty 中负责处理网络事件和消息的组件。 每个 Channel 都有一个对应的 ChannelPipeline,其中可以添加多个 Handler,组成消息处理链。 Netty Handler 主要分为两类: Chann2026-10-31|12|0|0
Netty:Bootstrap、ChannelFuture 与连接生命周期2026-10-302026-10-30技术Netty一、核心概念 Netty 的启动、连接、发送、关闭通常通过异步操作组织。Bootstrap / ServerBootstrap 负责配置与启动,ChannelFuture 表示操作最终结果,Channel 的生命周期事件用于管理连接状态。2026-10-30|5|0|0
Netty:channelInactive 与 channelUnregistered2026-10-30技术易混淆概念/Netty一、channelInactive 与 channelUnregistered 的区别 Netty 中,channelInactive() 和 channelUnregistered() 都属于 ChannelInboundHandler 的生命周期回调方法,但代表的含义不同。2026-10-30|6|0|0
Netty 问题总结:EventLoop、epoll、线程模型与异步处理2026-10-302026-10-30技术易混淆概念/Netty一、EventLoop 为什么能够管理多个 Channel? 面试问题: 一个 EventLoop 只有一个线程,为什么能够管理多个 Channel? 我的回答: 因为 EventLoop 基于 epoll 实现 I/O 多路复用,可以同时监听多个 Channel。 需要纠正: 方向正确,但 Eve2026-10-30|10|0|0
Netty:ChannelPipeline、ChannelHandler 与消息流转2026-10-302026-10-30技术Netty一、核心概念 Channel:一条网络连接或 IO 通道。 ChannelPipeline:每个 Channel 拥有自己的 Handler 处理链。 ChannelHandler:真正处理网络事件、编解码和业务逻辑。 ChannelHandlerContext(ctx):Handler 在 Pip2026-10-30|8|0|0
Netty:Reactor 线程模型、EventLoop 与 Channel2026-10-302026-10-30技术Netty一、Reactor 是什么 Reactor 是一种事件驱动网络处理模式:使用 IO 多路复用等待就绪事件,然后将事件分发给相应处理逻辑。它的核心不是“所有代码都异步”,而是 IO 等待与事件处理分离,少量线程可管理很多连接。 三种典型模型2026-10-30|9|0|0