2

4的New & Noteworthy文档指出,对的支持发生了显着变化,继续展示. 虽然这对于在通道处理程序中进行本地化使用很有用,但我希望整个下游管道都使用 little-endian 缓冲区。ByteBuf.order()

上游处理程序 LengthFieldBasedFrameDecoder 为字节顺序采用构造函数参数,但下游处理程序LengthFieldPrepender没有。看来从 Netty 4 开始支持配置驱动替换缓冲区工厂了,那我应该如何到达一个完整的 little-endian 下游管道呢?

4

1 回答 1

0

我这样做了,虽然感觉非常hacky:

https://gist.github.com/thomaslee/7871444

如果在 LengthFieldPrepender 运行后将其连接到管道中,这将使用 little endian 字节排序重写(大端)长度字段。

in在测量并完全删除 LengthFieldPrepender的长度而不是在管道中添加另一个步骤之后,自己以小端序编写长度可能更有效,但是这段代码已经被懒惰地复制了,我可以证明它可以工作。:)

我也很想知道除了在 4.x 中手动滚动这些东西之外是否还有更好的解决方案。

于 2013-12-09T12:26:14.903 回答