Java NIO - Netty Decoder 与 Encoder 核心组件
在 Netty 中,数据的流动就像工厂的流水线,核心任务之一是实现二进制数据(ByteBuf)与业务对象(POJO)之间的互相转换:
- 入站处理 (Inbound) 需要实现字节到对象的转变(拆包解密):底层 Java 通道读取到 ByteBuf 二进制数据,进入流水线。通过 Decoder(解码器),将晦涩难懂的二进制字节码“翻译”成程序可以直接处理的 POJO 业务对象,以实现让后续的业务逻辑处理器能够直接读取结构化数据。
- 出站处理 (Outbound) 需要实现从对象到字节的转变(封包加密):业务处理完成后,产生一个 POJO 业务对象准备发送。通过 Encoder(编码器),将该对象 “打包” 还原成能够通过网络传输的 ByteBuf 二进制数据,最终交给底层 Java 通道,发送至远端设备。