[英]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
。
如果要添加现成的组件,可以将ObjectEncoder和ObjectDecoder添加到管道中。 否则,您将需要实现自己的帧编码器和解码器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.