Netty 4.0.13客户端/服务器发送/接收bytebuffer数据包的示例

时间:2013-12-18 09:11:04

标签: netty bytebuffer encoder

我生成一个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了。请帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

只需使用:

channel.writeAndFlush(Unpooled.wrappedBuffer(yourByteBuffer));