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

Netty channel write and flush not writing message

我正在尝试使用以下方式将字节数组写入 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] WRITE: 0B

我是不是遗漏了什么?

谢谢

问题是您的缓冲区被认为是 "empty",因为当您使用 setByte 方法时它的 writerIndex 没有改变。请改用 writeByte 或其他 writeXXX 方法。这些提高了 writerIndex,这意味着 Netty 能够看到实际上已经将某些内容写入缓冲区。