通过mina进行TCP开发,遇到对数据进行解码处理,网上例子基本都是帧长度定长,在doDecode中通过in.remaining()就可以判断得到的数据帧长度为多少,是否能够正常解析,长度不对返回false即可. 但,如果帧是变长的又怎么处理呢? 变长的帧格式一般如下: 说明 长度 例子 标识位 1B 0x01 帧长度 1B 0x20 帧内容 32B ... 通过标识位判断是什么类型的帧,再通过帧长度判断帧内容有多长. 因此只有读取了标志位和帧长度才能知道当前处理缓冲区数据够不够分析完整的一帧,…