繁体   English   中英

在套接字的同一缓冲区中发送两个字节数组

[英]sending two byte arrays in the same buffer in sockets

我在同一缓冲区中发送两个字节数组以发送到套接字,我不知道如何在接收时分离它们

clientSocket.SendBufferSize = blindedVote.getBytes().Length + sBEVote.Length;
byte[] outStream = new byte[clientSocket.SendBufferSize];
blindedVote.getBytes().CopyTo(outStream, 0);
sBEVote.CopyTo(outStream, blindedVote.getBytes().Length);
serverStream.Write(outStream, 0, outStream.Length);
// int size = clientSocket.SendBufferSize;
serverStream.Flush();

当收到我如何分隔每个字节数组?

谢谢

它通常取决于您的协议。

您可以尝试创建一个特定的数据结构并将其整体发送-带有每个数组的长度,实际数据,一些CRC(以一种或另一种方式从套接字中检查数据总是很不错的)以及其他任何东西。

其他选择是发送一个数组的长度,第一个数组,等待接收者的确认,对第二个数组重复,等等。

没有接收方的数据知识,您将无法做到这一点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM