我常用的二次编码方式
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对二次编码的支持
