Измерять время, потраченное при отправке данных клиенту? - PullRequest
0 голосов
/ 11 февраля 2011

Я попытался измерить время отправки сокета:

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

Но ~ 95% времени секундомер возвращает время, которое составляет <1 секунды (с буфером 5 МБ и больше). После запуска <code>socket.send() в течение 0,5-1 миллисекунд, он говорит, что файл был отправлен, даже если пользователь все еще загружает. Как я могу изменить свой код, чтобы было возвращено правильное время загрузки? Спасибо.

Ответы [ 3 ]

0 голосов
/ 11 февраля 2011

Вы можете попробовать:

DateTime start = DateTime.Now;

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

TimeSpan span = DateTime.Now.Subtract(start);
double msec = span.TotalMilliseconds;
0 голосов
/ 19 января 2012

MarcB кажется правильным. Кроме того, убедитесь, что ваш секундомер более точный, например

double seconds = (double)stopWatch.ElapsedTicks / Stopwatch.Frequency;
0 голосов
/ 11 февраля 2011

Я только что понял, что Марк действительно может быть прав.Конечно, вашего кода недостаточно для того, чтобы предоставить какие-либо указания тем или иным способом.

...