我是靠谱客的博主 俊逸母鸡,最近开发中收集的这篇文章主要介绍Netty 支持哪些常用的解码器?固定长度解码器 FixedLengthFrameDecoder,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
之前我们介绍了 TCP 拆包/粘包的问题,以及如何使用 Netty 实现自定义协议的编解码。可以看到,网络通信的底层实现,Netty 都已经帮我们封装好了,我们只需要扩展 ChannelHandler 实现自定义的编解码逻辑即可。更加人性化的是,Netty 提供了很多开箱即用的解码器,这些解码器基本覆盖了 TCP 拆包/粘包的通用解决方案。本文章我们将对 Netty 常用的解码器进行讲解,一起探索下它们有哪些用法和技巧。
我们首先回顾一下 TCP 拆包/粘包的主流解决方案。并梳理出 Netty 对应的编码器类。
固定长度解码器 FixedLengthFrameDecoder
固定长度解码器 FixedLengthFrameDecoder 非常简单,直接通过构造函数设置固定长度的大小 frameLength,无论接收方一次获取多大的数据,都会严格按照 frameLength 进行解码。如果累积读取到长度大小为 frameLength 的消息,那么解码器认为已经获取到了一个完整的消息。如果消息长度小于 frameLength,FixedLengthFrameDecoder 解码器会一直等后续数据包的到达,直至获得完整的消息。下面我们通过一个例子感受一下使用 Netty 实现固定长度解码是多么简单。
public class EchoServer {
public
最后
以上就是俊逸母鸡为你收集整理的Netty 支持哪些常用的解码器?固定长度解码器 FixedLengthFrameDecoder的全部内容,希望文章能够帮你解决Netty 支持哪些常用的解码器?固定长度解码器 FixedLengthFrameDecoder所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复