2016-06-04 5 views
1

Я работаю над сетевой библиотекой для моего приложения .net, и сейчас я пытаюсь проверить задержку реального мира.Является ли 200 - 400 миллисекунд медленной задержкой TCP? (Not Ping)

Итак, в настоящее время я отправляю время с сервера на клиент и записываю, какое время это сообщение передается остальной части приложения.

По сравнению с тем, что я думаю, довольно хорошее подключение к Интернету (40/40 и 50/10), оно занимает около 400 миллисекунд. Мне не нужно, чтобы это было очень быстро или что-то еще. Мне просто интересно, где это сравнивается.

  • Я не говорю о скорости пинг, я имею в виду время, начиная с сервера, когда приложение вызывает «отправить» метод в моей библиотеке в то время, когда клиент поднимает «получить» событие

ответ

1

TCP отправки имеет два латентности компонента:

  1. сеть. Узнайте, используя ping google.com -t.
  2. Nagling. Это используется для буферизации записей до тех пор, пока пакет не будет заполнен или не пройдет 200 мс. Ваше дело звучит как наглость. Может быть, обе стороны, объявляющие комбинированную задержку, составляют 400 мс плюс сеть.

Возможно, вам необходимо отключить написание и оптимизировать ваши звонки Write, чтобы они сразу записывали все данные. В противном случае вы будете отправлять много маленьких пакетов без нагнетания.

+0

Соответствующая документация по MSDN об использовании алгоритма Nagle для сокетов: https://msdn.microsoft.com/en-us/library/system.net.sockets.socket.nodelay(v=vs.110). ASPX –

Смежные вопросы