我使用的是netty 3.4.5版本。当我从网络接收数据包时,帧的长度基于标头。即
header1 - >长度为70字节的数据。
header2 - >长度为140字节的数据。
header3 - >长度为28个字节的数据。
我想在netty中使用 lengthbasedframedecoder 。请建议我如何做到这一点。 如果还有其他方法可以建议我。
谢谢
答案 0 :(得分:1)
如果header1
,header2
,header3
的长度相同,则可以通过覆盖getUnadjustedFrameLength
中的LengthFieldBasedFrameDecoder
来实现此目的。
switch(buf.getUnsignedInt) { //get header here
case header1 : return 70;
case header2: return 140;
case header3: return 28;
}