我常用的二次编码方式

2025-10-13 14:33:56

为什么需要二次解码因为一次解码的结果是字节,需要和项目中所使用的对象做转换,方便使用,这层解码器可以称为“二次解码器”。相应的,对应的编码器是为了将java 对象转化成字节流方便传输存储。

一次编码器:ByteToMessageDecoder

io.netty.buffer.ByteBuf(原始数据流) -> io.netty.buffer.ByteBuf(用户数据)

二次解码器:MessageToMessageDecoder

io.betty.buffer.ByteBuf(用户数据) ->Java Object

常用的二次编解码方式

Java序列化

Marshing

XML

JSON

MEssagePAck

Protobuf

其他

选择编解码方式的要点

空间:编码后占用空间

Protobuf简介与使用源码解读:Netty对二次编码的支持