1

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

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();

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

谢谢

4

1 回答 1

0

它通常取决于您的协议。

您可以尝试创建一个特定的数据结构并将其全部发送 - 每个数组的长度、实际数据、一些 CRC(以一种或另一种方式检查来自套接字的数据总是好的),以及其他任何内容。

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

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

于 2013-09-23T11:59:42.700 回答