【发布时间】:2015-12-11 12:17:40
【问题描述】:
我在使用 tcp 时遇到问题。 当我在客户端或服务器中读取和写入数据时,他应该每次将其作为一个数据包读取。
但有时当我非常快地写入数据时(例如在循环中),客户端将其作为一个数据接收,而不是将其作为三个不同的数据包处理。
发送数据:
messageToSend = Encoding.ASCII.GetBytes(data);
c.GetStream().Write(messageToSend, 0, messageToSend.Length);
在客户端接收:
byte[] message = new byte[1024];
int i = 0;
i = c.GetStream().Read(message, 0, message.Length);
Encoding.ASCII.GetString(message, 0, i);
//Handle the new data....
希望它足够清楚,并在此先感谢!
【问题讨论】:
-
显示您如何将数据写入客户端。
-
类似的东西:
messageToSend = Encoding.ASCII.GetBytes(data); c.GetStream().Write(messageToSend, 0, messageToSend.Length);