我目前正在使用ByteBuffer来存储一系列原语,然后再通过网络发送所有原语。
我正在使用data.order(ByteOrder.LITTLE_ENDIAN);,因为那是应该发送数据的方式。

是否有一个ByteBuffer等效项使用Little Endian支持putShort() ...,并且可以扩展?

我可以编写一个包装来检查limit()position(),并在必要时创建一个新的更大的ByteBuffer,但是我不相信没有其他现有的类可以做到这一点。

最佳答案

看来Apache Mina拥有您想要的:http://mina.apache.org/report/1.1/apidocs/org/apache/mina/common/ByteBuffer.html

我知道Mina已用于许多生产消息传递系统中,因此它可能是Google返回的其他结果更好的选择。而且,正如您似乎在编写网络代码一样,您可能会发现其他Mina有用。

但是,我认为分配一个比需要的大得多的JDK缓冲区要简单得多,并进行简单的检查以确保您不会超载它。在发生溢出的情况下,写入第一个缓冲区,然后分配替换。

10-07 12:40