Netty ByteBuf接收大小!=发送大小

时间:2018-06-20 08:07:56

标签: java networking netty bytebuffer

我的Netty服务器有一个小错误。我需要传输不同的byteBuf大小(发送缓冲区的容量会动态增加)。

    byte[] buffer = text.getBytes();
    byteBuffer.writeInt(buffer.length);

    if (byteBuffer.capacity() < (byteBuffer.writerIndex() + buffer.length))
        System.out.println("Increased Buffer Capacity to " + byteBuffer.capacity(byteBuffer.capacity() + buffer.length).capacity());

    byteBuffer.writeBytes(buffer);

它输出新的(增加的)byteBuf容量,但是当服务器读取byteBufs的容量不是增加的容量时,它将输出错误。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

我通过创建一个将完全填充的byteBuffer拆分为多个byteBuf的算法来解决我的问题,这些byteBuf分别发送并由服务器重新排序和解析。

感谢您的帮助(EJP)