我生成一个ByteBuffer对象:
(4字节,00)+(4字节,gson-data-length)+(部分字节使用GSON - 字符串格式)。
如何将此数据发送到我的服务器部分? 我需要在我的代码中使用任何编码器吗?或者没有它可以工作?
public class ClientSocketInitializer extends ChannelInitializer<SocketChannel> {
private static final ObjectEncoder ENCODER = new ObjectEncoder();
@Override
public void initChannel(SocketChannel ch) throws Exception {
ChannelPipeline pipeline = ch.pipeline();
//pipeline.addLast("encoder", ENCODER);
pipeline.addLast("handler", new ClientSocketHandler());
}
}
在此变体中,存在从客户端到服务器的连接,但没有传输的数据(0字节输入/输出) 如果我取消注释评论行,则存在数据流量。但我不需要使用任何编码器。我已经准备好发送ByteBuffer了。请帮我解决这个问题。
答案 0 :(得分:1)
只需使用:
channel.writeAndFlush(Unpooled.wrappedBuffer(yourByteBuffer));