Tcp 数据相互依附
Tcp data is getting attached in each other
我在使用 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....
希望已经足够清楚了,在此先感谢!
TCP 设计为流协议,如果您读取速度不够快,它就会堆积在缓冲区中。例如 UDP 是 dgram 协议,它具有可单独读取的固定数据包。
我在使用 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....
希望已经足够清楚了,在此先感谢!
TCP 设计为流协议,如果您读取速度不够快,它就会堆积在缓冲区中。例如 UDP 是 dgram 协议,它具有可单独读取的固定数据包。