![]() |
|
Модераторы: feodorv |
![]()
|
|
| Artemon |
|
|||
|
а ты мне нравишься ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1771 Регистрация: 24.2.2004 Где: Челябинск Репутация: 1 Всего: 20 |
Посылаю UDP пакет от клиента к серверу. Если пакет не пришел, через какое время можно считать что он потерян и 100% не придет ?
-------------------- Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 6 Всего: 207 |
Artemon,
2 * MSL -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| semibug |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 323 Регистрация: 27.3.2009 Репутация: нет Всего: нет |
Идеологически нельзя. Время доставки не гарантируется. С другой стороны с очень малой вероятностью это время превысит несколько секунд.
В любом случае ничего мешает засчитать дейтаграмму потеряной через определенное время и выполнить повторную передачу, пусть даже в каких то случаях избыточную. Расчет интервала для повторной отправки можно реализовать на подобии механизма, используемого в TCP. Интервал = 2 * RTT (round-trip time, время туда- обратно) RTT = 0.9 * предыдущее RTT + 0.1 * текущее RTT Здесь смысл в том, что алгоритм как бы подстраивается под пропускную способность сети. Если скорость доставки важнее, можно пожертвовать трафиком, и уменьшить коэффициент в формуле "Интервал = 2 * RTT". (в этом случае чаще будут отправляться избыточные пакеты) Это сообщение отредактировал(а) semibug - 9.6.2009, 17:57 |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Сети | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |