繁体   English   中英

用于Netty的整数编码器解码器

[英]Integer encoder decoder for Netty

我想在Netty频道上传输一系列整数。 现在,在我的代码channel.write(Integer.valueOf(val) ,我得到错误java.lang.IllegalArgumentException: unsupported message type: class java.lang.Integer我明白是因为我没有任何整数编码器/解码器作为管道中的处理程序。这是正确的吗?我是否必须编写自己的整数解码器或者有一个可用的解决方案?围绕这个主题的一些指导将非常有用。

是的就是这种情况......您也可以将它写在ChannelBuffer中,然后将ChannelBuffer写入Channel。

就像是:

ChannelBuffer buf = ChannelBuffers.buffer(4);
buf.writeInt(Integer.valueOf(val));
channel.write(buf);

是的,你的理解是正确的。 如果你的管道中没有合适的FrameEncoder ,Netty将会举手并说它不知道如何处理Integer

如果要添加现成的组件,可以将ObjectEncoderObjectDecoder添加到管道中。 否则,您将需要实现自己的帧编码器和解码器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM