在TCP套接字数据之间获得恒定的延迟发送C#

时间:2013-04-18 10:46:12

标签: c# sockets tcp

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

我正在跟踪每个传入传出的数据包,并使用streamwriter在logfile中写入,其中autoflush属性设置为true。

我注意到有时在发送数据时2个数据包之间有一个恒定的延迟(15-16ms)。 经过几次连续发送后,这种延迟再次出现。

为什么要延迟?我怎么能避免它......

查看图片......

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

1 个答案:

答案 0 :(得分:1)

如果您使用DateTime来跟踪您的效果,则15ms与提供的分辨率相关。尝试使用更可靠的Stopwatch