>Всем привет.
>
>Столкнулся с такой проблемой: при вызове connect() в случае если сервер просто
>не слушает нужный мне порт, происходит мгновенный обрыв связи, но если
>сервер выключен, то connect() очень долго висит - порядка 2-х минут.
>Можно ли как-то уменьшить это время?
>
>Заранее спасибо.
>Дима.
Я делаю так до вызова connect
setsockopt(socket_fd, SOL_TCP, TCP_SYNCNT, (void *)&syncnt, sizeof(int))
,что устанавливает количество попыток послать TCP SYN пакеты до syncnt. syncnt = 2 дает задержку порядка 10 сек. по умолчанию /proc/sys/net/ipv4/tcp_syn_retries = 5 ~ 180 сек.
для TCP сокетов естессно.
|