Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Подскажите пожалуйста, как замерить время доставки массива по winsock. / 17 сообщений из 17, страница 1 из 1
18.10.2013, 11:58
    #38432565
webber81
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите пожалуйста, как замерить время доставки массива по winsock.
Подскажите пожалуйста, как замерить время доставки массива по winsock.
Можно передать массив, затем принять его назад и измерить общее время таймером.
Но, по идее, должен быть какой то стандартный метод замера времени передачи по winsock.
...
Рейтинг: 0 / 0
18.10.2013, 12:43
    #38432672
Arm79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите пожалуйста, как замерить время доставки массива по winsock.
webber81как замерить время доставки массива по winsock

Неужто Stopwatch настолько неудобен?
...
Рейтинг: 0 / 0
18.10.2013, 15:27
    #38433009
webber81
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите пожалуйста, как замерить время доставки массива по winsock.
Если отослать данные на сервер и получить от него ответные данные, то Stopwatch вполне пригоден.
Но как замерить время доставки данных, если данные надо только отправить на сервер, при этом не получая ответа?
...
Рейтинг: 0 / 0
18.10.2013, 15:44
    #38433035
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите пожалуйста, как замерить время доставки массива по winsock.
webber81,

...так функция send (или какая?) возвращает же что-то после успешной отсылки данных? .. вот по этому событию и стопайте секундомер ...
...
Рейтинг: 0 / 0
18.10.2013, 16:30
    #38433130
Arm79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите пожалуйста, как замерить время доставки массива по winsock.
webber81время доставки данных

В таком случае никак, вы же не управляете транспортным протоколом. Единственный вариант сделать это с приемлемой точностью, это синхронизировать время на двух разных компьютерах и засечь время отправки и время приема. Разница - время в пути. Но этот путь из разряда фантастики, особенно если учесть, что Windows - не система реального времени. Правда Google реализовал эту фантастику в своей распределенной БД, но ведь для такой ерунды вы не будете использовать атомные часы?
...
Рейтинг: 0 / 0
18.10.2013, 17:23
    #38433260
beg-in-er
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите пожалуйста, как замерить время доставки массива по winsock.
webber81Если отослать данные на сервер и получить от него ответные данные, то Stopwatch вполне пригоден.
Но как замерить время доставки данных, если данные надо только отправить на сервер, при этом не получая ответа?

ну пусть сервер ответит что мол всё ок. всё принял.
...
Рейтинг: 0 / 0
21.10.2013, 11:36
    #38435211
webber81
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите пожалуйста, как замерить время доставки массива по winsock.
carrotikwebber81,

...так функция send (или какая?) возвращает же что-то после успешной отсылки данных? .. вот по этому событию и стопайте секундомер ...

А это будет время отправки или время доставки?
...
Рейтинг: 0 / 0
21.10.2013, 11:49
    #38435226
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите пожалуйста, как замерить время доставки массива по winsock.
webber81carrotikwebber81,

...так функция send (или какая?) возвращает же что-то после успешной отсылки данных? .. вот по этому событию и стопайте секундомер ...

А это будет время отправки или время доставки?

... я в winsock-ах ни бум-бум, но гугль говорит следующее:

A "normal" disconnect is when the receiving party calls closesocket() on its end of the connection to send a FIN packet to the sending party. When send() detects the FIN, it knows the connection has been disconnected gracefully and should return 0 to notify your code.

... т.е. если принимающая сторона закрывает сокет штатно, то это время приема ... наверное ...
...
Рейтинг: 0 / 0
22.10.2013, 11:59
    #38436629
webber81
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите пожалуйста, как замерить время доставки массива по winsock.
Есть следующий метод:

private void SendData(string data)
{
StreamWriter writer = new StreamWriter(client.GetStream());

stopWatch.Start();

writer.Write(data + "\n\r");
writer.Flush();

stopWatch.Stop();
TimeSpan ts = stopWatch.Elapsed;
string elapsedTime = String.Format("{0}", ts.TotalMilliseconds);
DisplayText("milliseconds from send to recv: " + elapsedTime + "\r\n");
stopWatch.Reset();
}

где client экземпляр класса TcpClient.
Вопрос.
Здесь замеряется время передачи с подтверждением целостности доставки?
...
Рейтинг: 0 / 0
22.10.2013, 12:09
    #38436652
Arm79
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите пожалуйста, как замерить время доставки массива по winsock.
webber81,

Насколько я понимаю, здесь время записи в поток отправки, и не более. Может, помещение данных в локальный буфер.

Меряйте так: Stopwatch.Start(), запись данных, ожидание ответа, Stopwatch.Stop(). Скорость - Stopwatch.ElapsedMilliseconds/2

Нужно прогнать это не один раз, чтобы получить среднее время.
...
Рейтинг: 0 / 0
22.10.2013, 12:27
    #38436679
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите пожалуйста, как замерить время доставки массива по winsock.
webber81,
как Вы это представляете, там же расчленёнка чистой воды ( на пакеты) мало того маршрутизация их может быть не идеальной,
вторая часть тела может доставится раньше первой, да и сам пакет не константа, ибо принимающая сторона отвечает
свободным размером буфера приема, и под него может измениться размер пакета для передачи, это все так условно и не информативно
что даже не стоит этим заморачиваться, может поискать другой пинг?
...
Рейтинг: 0 / 0
22.10.2013, 13:13
    #38436797
webber81
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите пожалуйста, как замерить время доставки массива по winsock.
Arm79webber81,
Меряйте так: Stopwatch.Start(), запись данных, ожидание ответа, Stopwatch.Stop(). Скорость - Stopwatch.ElapsedMilliseconds/2
.
Под ожиданием ответа понимается получение ответа самой функцией отправки, как предложил carrotik?
Или же самому надо послать ответ с сервера?
...
Рейтинг: 0 / 0
22.10.2013, 13:15
    #38436800
webber81
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите пожалуйста, как замерить время доставки массива по winsock.
Где-то в степиwebber81,
может поискать другой пинг?

Какой например?
...
Рейтинг: 0 / 0
22.10.2013, 13:32
    #38436838
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите пожалуйста, как замерить время доставки массива по winsock.
webber81Где-то в степиwebber81,
может поискать другой пинг?

Какой например?

Ээээ... Ping Class Не?
...
Рейтинг: 0 / 0
22.10.2013, 13:38
    #38436857
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите пожалуйста, как замерить время доставки массива по winsock.
webber81 Под ожиданием ответа понимается получение ответа самой функцией отправки, как предложил carrotik?
Или же самому надо послать ответ с сервера?

.. так если у вас все же TcpClient, а на серверной стороне TcpListener, то логично будет с сервера послать подтверждение "Принял, понял, закрываемся" ...
...
Рейтинг: 0 / 0
22.10.2013, 14:09
    #38436920
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите пожалуйста, как замерить время доставки массива по winsock.
webber81,
встройте tracert очень информативно, можно и ping
...
Рейтинг: 0 / 0
22.10.2013, 14:20
    #38436950
Где-то в степи
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите пожалуйста, как замерить время доставки массива по winsock.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Подскажите пожалуйста, как замерить время доставки массива по winsock. / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]