Netty通道写入和刷新不写入消息

时间:2017-11-29 03:55:18

标签: java netty

我正在尝试使用以下方式将字节数组写入netty中的ctx但是我无法做到。我正在使用ChannelInboundHandlerAdapter。

   ByteBuf mbuf = ctx.alloc().buffer();
   mbuf.setByte(0, 69);
   mbuf.setByte(1, 70);
   mbuf.setByte(2, 71);
   ctx.writeAndFlush(mbuf);

在日志中显示如下:

2017年11月28日下午7:52:16 io.netty.handler.logging.LoggingHandler写道 信息:[id:0x391dced5,L:/127.0.0.1:3978 - R:/127.0.0.1:52306]写:0B

我在这里错过了什么吗?

由于

1 个答案:

答案 0 :(得分:4)

问题是你的缓冲区被认为是#34;空的"因为使用setByte方法时不会更改其writerIndex。请改用writeByte或其他writeXXX方法。这些推进了writerIndex,这意味着Netty能够看到事实上已经写入了缓冲区。