我目前正在使用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缓冲区要简单得多,并进行简单的检查以确保您不会超载它。在发生溢出的情况下,写入第一个缓冲区,然后分配替换。