测量向客户端发送数据所花费的时间?

时间:2011-02-11 17:22:45

标签: c# sockets time stopwatch

我已经尝试测量套接字发送时间的时间:

stopWatch.Start();
socket.Send(buffer);
socket.Close();
stopWatch.Stop();

但是~95%的时间,秒表返回时间<1秒(5mb和更大的缓冲区)。 在.5-1毫秒内运行socket.send()表示该文件已发送,即使您仍在下载该文件。我怎样才能更改我的代码,以便返回正确的上传时间? 谢谢。

3 个答案:

答案 0 :(得分:0)

我刚刚意识到马克可能确实是对的。当然,您的代码不足以以某种方式提供任何指导。

答案 1 :(得分:0)

你可以尝试:

DateTime start = DateTime.Now;

socket.Send(buffer);
socket.Close();

TimeSpan span = DateTime.Now.Subtract(start);
double msec = span.TotalMilliseconds;

答案 2 :(得分:0)

MarcB似乎是正确的。最重要的是,确保从秒表获得更高的精确度,例如

double seconds = (double)stopWatch.ElapsedTicks / Stopwatch.Frequency;