C# 处理来自byte[]缓冲区的消息,将剩余的字节预先发送到下一个缓冲区
我有一个256字节的字节数组(C# 处理来自byte[]缓冲区的消息,将剩余的字节预先发送到下一个缓冲区,c#,arrays,byte,buffer,C#,Arrays,Byte,Buffer,我有一个256字节的字节数组(byte[256]),我有一个字节数据流,我正在读取字节数组上的256缓冲区大小 我解析字节数组并从字节数组中提取2条“消息”…在数组中留下13个未处理的字节 问题:如何将13个字节附加到下一个256字节数组中,以便以最快的方式处理第一个字节数组和第二个字节数组中的“部分字节” 例如: [256 Array] [+++++++++++++++++++] (1st Buffer) [**************] (Processed in t
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)
[256数组]
[++++++++++++++++++++++++++++](第一缓冲区)
[************](在第一次迭代中处理…)
[---](从第一个缓冲区剩余)
[----[++++++++++++++](旧Buff+新Buff 256[])
[----+++++++++++++]声明一个512字节而不是256字节的缓冲区
当您准备接收另一个256字节时,请检查缓冲区中是否有剩余的字节。如果这样做,请将它们复制到缓冲区的开头
然后接收您的256字节,将它们放在剩余字节之后
假设您的邮件都小于256字节,则不应超出缓冲区。欢迎!有代码显示吗?你做了什么研究?这将帮助我们帮助你。祝你好运@Valmorgal看起来有一个解决方案@blogbeard谢谢你的回复。我正在寻找一个快速的实现,完全按照你说的去做。将剩余字节放在新缓冲区的开头。那么,需要多快?为什么这还不够快?