1

我在 C# 2010 中有一个客户端-服务器应用程序。在 TCP Socket 中,我为我的应用程序中的所有连接的套接字(客户端-服务器)设置了 Nodelay = True 和 SendBufferSize = 0。

我正在跟踪每个传入传出的数据包,并使用 streamwriter 将其写入日志文件,它的 autoflush 属性设置为 true。

我注意到一件事,有时在发送数据时 2 个数据包之间存在恒定延迟(15-16 毫秒)。几次连续发送后,此延迟再次出现。

为什么会出现这种延迟?以及如何避免它....

看图片...

http://s4.postimg.org/uoly38shp/Trace_1.png
http://s14.postimg.org/m4ab7oght/Trace_2.png

4

1 回答 1

1

如果您使用DateTime来跟踪您的性能 15 毫秒是关于提供的分辨率。尝试使用更可靠的秒表。

于 2013-04-18T10:52:28.137 回答