在入站过程中,需要将Bytebuf二进制类型解码成java POJO对象,这个解码过程通过netty中的Decoder(解码器完成)
在出站过程中,业务处理后的结果需要从某个java POJO对象编码为最终的ByteBuf二进制数据,然后通过java底层通道发送到对端,需要通过netty中的Encoder(编码器)去完成数据编码工作。
1、常见解码器
Netty中主要提供了抽象基类ByteToMessageDecoder
和MessageToMessageDecoder
ByteToMessageDecoder
: 用于将字节转为消息,需要检查缓冲区是否有足够的字节
MessageToMessageDecoder
: 用于从一种消息解码为另外一种消息
(1)ByteToMessageDecoder
ByteToMessageDecoder
是一个非常重要的解码器基类,实现了家么处理的基础逻辑和流程,完成从ByteBuf到java POJO对象的解码功能。
ByteToMessageDecoder
解码方法为decode()方法,需要实现decode()方法将ByteBuf转化为POJO对象,放入List