Java Netty的整数编解码器

Java Netty的整数编解码器,java,netty,Java,Netty,我想在一个网络通道中传输一系列整数。现在,在我的代码channel.write(Integer.valueOf(val)中,我得到了错误java.lang.IllegalArgumentException:不支持的消息类型:class java.lang.Integer,据我所知,这是因为我没有任何整数编码器/解码器作为管道中的处理程序。这是否正确?我必须编写自己的整数解码器还是有一个可供使用?关于这方面的一些指导主题将非常有帮助。是的,您的理解是正确的。如果您的管道中没有合适的帧编码器,Net

我想在一个网络通道中传输一系列整数。现在,在我的代码
channel.write(Integer.valueOf(val)中
,我得到了错误
java.lang.IllegalArgumentException:不支持的消息类型:class java.lang.Integer
,据我所知,这是因为我没有任何整数编码器/解码器作为管道中的处理程序。这是否正确?我必须编写自己的整数解码器还是有一个可供使用?关于这方面的一些指导主题将非常有帮助。

是的,您的理解是正确的。如果您的管道中没有合适的
帧编码器,Netty会举手说它不知道如何处理
整数


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

是的,就是这样……您也可以将其写入ChannelBuffer,然后将ChannelBuffer写入通道

比如:

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