Steck
написал 5 августа 2004 года в 10:43 (1052 просмотра)
Ведет себя
как мужчина; открыл 125 тем в форуме, оставил 550 комментариев на сайте.
Народ подскажите как выставить таймаут на connect() ?
например если не закоонектится через 5 сек то выход?
куда копать? Спасибо
Язык программ C#
Последние комментарии
- OlegL, 17 декабря 2023 года в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
Насколько я понял речь идет о UNIX, поэтому курим стивенса. Есть несколько вариантов, в данном случае самый простой — это таймер. Т.е. ставим сигнал sigalarm на 5 секунд, обработчике ставимreturn — и таким образом через 5 секунд connect прервется, а далее просто обрабатываем его возвращенное значение. Итак см. Стивенс страница 393. Вот сырец который там приведен:
Надеюсь разберешься, т.к. выкладывать сюда хидер unp.h влом. Можешь скачать все сырцы к книге с www.piter.com/download . Этот сырец лежит в архиве в lib/connect_timeo.c . И вапще если взялся за сетевой кодинг в UNIX — то Стивенс — это то, без чего тебе не обойтись. Он стоит тех денег которые ты потратишь на его покупку.
Удачи!
А этот стивент на русском есть? ) Если да то не раздумывая преобрету..
СТИВЕНС! Ессно есть. У него две мегакниги:
http://www.piter.com/book/978531800535/
http://www.piter.com/book/978531800534/
Если кодишь под UNIX — просто обязан их иметь. По качеству и глубине изложения ему нету равных. Единственный минус — бестолковый алфавитный указатель (неподробный).
Спасиб уже выписываю)
Молодец! Удачи в изучении :)