考虑在Windows PC在后台运行多个应用程序时通过tcpip套接字接收数据。这些应用程序有时可能会导致CPU使用率峰值,从而使我的应用程序暂时太慢而无法接收数据。
我的目标是确保即使其他正在运行的应用程序占用了CPU高峰,该应用程序也绝不会强迫tcp使用流控制来停止tcpip套接字另一端的数据发送器。
我这样做:
Tcpclient.ReceiveBufferSize = 240000; //足够以240000B / s的速度传输1秒的数据
假设数据流为240.000bytes / second,我假设接收应用程序可能会停留1秒钟,并且仍然不会丢失任何数据。
在实践中,我仅几百毫秒就发现问题。
知道为什么吗?