The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Неблокируемый connect()"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Неблокируемый connect()"
Сообщение от Дима emailИскать по авторуВ закладки(??) on 01-Апр-04, 13:58  (MSK)
Всем привет.

Столкнулся с такой проблемой: при вызове connect() в случае если сервер просто не слушает нужный мне порт, происходит мгновенный обрыв связи, но если сервер выключен, то connect() очень долго висит - порядка 2-х минут. Можно ли как-то уменьшить это время?

Заранее спасибо.
Дима.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Неблокируемый connect()"
Сообщение от kavel emailИскать по авторуВ закладки(??) on 01-Апр-04, 16:02  (MSK)
>Всем привет.
>
>Столкнулся с такой проблемой: при вызове 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 сокетов естессно.


  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Неблокируемый connect()"
Сообщение от Дима emailИскать по авторуВ закладки(??) on 01-Апр-04, 16:12  (MSK)
>>Всем привет.
>>
>>Столкнулся с такой проблемой: при вызове 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 сокетов естессно.

Большое спасибо

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру