如何在netty 4.0.25 final中自定义LengthFieldBasedFrameDecoder

时间:2015-01-21 12:05:40

标签: java netty

我是新手。 我有消息

  • (标题)(长度)(类型)(MessageBody)大小

  • < 4字节>< 4字节>< 4字节>< ...> - 长度包括类型和 消息体。

我想获取标题和消息类型,如何在netty 4.0.25 final中自定义LengthFieldBasedFrameDecoder? 我引用了链接:Buffer Returned from LengthFieldBasedFrameDecoder too small,但它是netty 3.xx。

1 个答案:

答案 0 :(得分:2)

为什么要自定义LengthFieldBasedFrameDecoder?设置

  • maxFrameLength到您接受的最大消息
  • lengthFieldOffset = 4
  • lengthFieldLength = 4
  • lengthAdjustment = 0
  • initialBytesToStrip = 0

然后下一个解码器上游将收到一个包含整个消息的ChannelBuffer,你可以解析它并处理你喜欢的方式。