我有一个256(byte[256]
)的字节数组,我有一个字节数据流,我正在读取我的字节数组上的256缓冲区大小。
我解析字节数组并从字节数组中提取2个“消息”...在数组中保留13个未处理的字节。
问我如何将13个字节附加到下一个256字节数组中,这样我就能以最快的方式处理第一个字节数组中的“部分字节”和第二个字节数组?
示例:
[256 Array]
[+++++++++++++++++++] (1st Buffer)
[**************] (Processed in the first iteration...)
[----] (Remaining from the 1st Buffer)
[----][++++++++++++++++++++](Old Buff + New Buff256[])
[-----+++++++++++++++++++++] <---- (THIS)
(How do I get this Combination to process in the most
efficient manner so I am not missing messages that may
have been chopped off by my buffer size from the old buffer)
先谢谢你们。
答案 0 :(得分:2)
声明一个512字节而不是256字节的缓冲区。
当您准备接收另外256个字节时,请检查缓冲区中是否有任何剩余部分。如果这样做,请将它们复制到缓冲区的开头。
然后收到你的256个字节,把它们放在剩下的地方。
假设您的邮件都小于256字节,则不应该超出缓冲区。