0

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

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

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

4

1 回答 1

1

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

于 2012-05-11T08:29:43.490 回答