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

时间:2013-09-23 11:55:38

标签: c# 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();

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

感谢

1 个答案:

答案 0 :(得分:0)

这通常取决于您的协议。

您可以尝试创建一个特定的数据结构并将其整个发送 - 包含每个数组的长度,实际数据,一些CRC(以某种方式检查来自套接字的数据总是好的),还有其他任何内容。< / p>

其他选项是发送数组的长度,第一个数组,等待接收器的某些确认,重复第二个数组等。

如果不了解接收方的数据,就无法做到这一点。