URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 51154
[ Назад ]

Исходное сообщение
"Подскажите как можно установить соединение на определенный tcp порт..."

Отправлено Alexandr9 , 02-Дек-04 11:48 
Подскажите как можно установить соединение на определенный tcp порт (просто проверить отвечает или нет), но с возможностью задавать таймаут  попытки соединения?

Содержание

Сообщения в этом обсуждении
"Подскажите как можно установить соединение на определенный t..."
Отправлено Simps , 02-Дек-04 12:29 
>Подскажите как можно установить соединение на определенный tcp порт (просто проверить отвечает
>или нет), но с возможностью задавать таймаут  попытки соединения?

Взято из умной книжки (издательство Мастер-класс "Unix разработка сетевых приложений"), проверено и работает =)

Функцию select можно использовать для установки таймаута connect только когда сокет неблокируемый а параметры сокетов устанавливающие таймауты не работают с connect ... Соответственно технология такая:  Перед connect вешаешь обработчик signal(SIGALRM, handle_signal); потом перед connect фигачишь alarm(timeout) и твой connect в момент срабатывания alarm прервется с ошибкой EINTR ...