Netty的编解码技术

JAVA提供的序列化技术的缺点?

1.无法跨语言,java序列化技术是JAVA语言内部私有协议,其他语言并不支持,对于用户来说它完全是黑盒的。对于java序列化后的字节数组,别的语言无法进行反序列化,这就严重阻碍了他的应用。

2.序列化码流太大

3.序列化性能太低

业界流行的解码器

1.ProtoBuf是有谷歌开发的解码器,仅仅负责解码,它不支持读半包,因此在解码前面一定要有能够处理半包的解码器。有以下三种方式可以选择。

方式1:使用Netty提供的ProtobufVarint32FrameDecoder,他可以处理半包消息;

方式2:集成Netty提供的通用半包解码器LengthFieldBasedFrameDecoder;

方式3:集成ByteToMessageDecoder类,自己处理半包信息。

2.JBoss Marshalling编解码器支持半包和粘包的支持,不需要自己处理半包问题

你可能感兴趣的:(Netty的编解码技术)