相关疑难解决方法(0)

当我必须在Netty4编码器中调用ByteBuf.retain()时?

我正在编写一个NUL-终止JSON消息的编码器,以便在消息碎片化时对其进行解码.

我发现这个样品- > 点击这里ByteBuf.retain()被称为到底写现有ByteBuf到输出.他们为什么这样做,为什么需要呢?

这是我的编码器:

public class FrameEncoder extends MessageToMessageEncoder<ByteBuf> {

    @Override
    protected void encode(ChannelHandlerContext ctx, ByteBuf msg, List<Object> out) throws Exception {
        out.add(msg.retain());
        out.add(ctx.alloc().buffer(1).writeByte(NUL));
    }

}
Run Code Online (Sandbox Code Playgroud)

java netty

7
推荐指数
1
解决办法
2339
查看次数

标签 统计

java ×1

netty ×1