当TCP客户端将数据大量发送到TCP服务器时,会挤压NetworkStream数据

时间:2012-05-11 08:25:00

标签: c# networkstream

我在C#中有一个TCP服务器软件。我正在使用下面的代码读取来自客户端的数据。

DataLen = NetworkStream.Read(Data, 0, Data.Length);

在这种情况下,当客户端在很短的时间内连续发送数据时,在评估最后一个数据缓冲区时会出现新数据。在这种情况下我该怎么做?

1 个答案:

答案 0 :(得分:1)

TCP协议提供可靠,有序的字节流传送。因此,您无需担心这一点 当读取速度太慢而网络缓冲区太小时,可能发生的最坏情况是重新排队。因此,您可能需要将读取和处理拆分为不同的线程 重新排队对应用程序来说是不透明的,你会看到速度很慢,需要像wireshark / tcpdump这样的工具来检测它们。