Установка времени ожидания повторной передачи TCP в C - PullRequest
0 голосов
/ 05 августа 2009

У меня есть небольшая программа тестирования сервера / клиента. Я работаю по радиоканалу по протоколу TCP / IP и с помощью wireshark заметил, что получаю много повторных передач из-за большой задержки. Как увеличить окно, в котором моя программа ожидает ACK перед попыткой повторной передачи?

Обновление на ОС: Сервер работает под управлением Linux, Клиент работает под управлением Windows

Ответы [ 3 ]

1 голос
/ 05 августа 2009

В Linux вы можете попробовать поиграть с TCP_WINDOW_CLAMP и другими опциями http://lxr.linux.no/linux+v2.6.30/include/linux/tcp.h#L85. Я думаю, их можно установить с помощью setsockopt (man 3 setsockopt).

0 голосов
/ 07 августа 2009

Windows и Linux оба запрашивают настройку значений параметров. Вы можете сделать это либо на стороне сервера, либо на стороне клиента. Итак, какой метод вам подходит, попробуйте.

0 голосов
/ 05 августа 2009

Определенно, этот вопрос нуждается в уточнении.
ИМО, лучшее решение должно заключаться в переключении на асинхронные сокетыТаким образом, обработка тайм-аута полностью за вами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...