что посоветуете в место setsockopt(Socket,SOL_SOCKET,SO_RCVTIMEO (как сделать небольшой таймер для сокета при падении клиента)

Модератор: Модераторы разделов

Аватара пользователя
Seven
Сообщения: 88
ОС: Fedora 11, openSUSE 11.2

что посоветуете в место setsockopt(Socket,SOL_SOCKET,SO_RCVTIMEO

Сообщение Seven »

из описания setsockopt:
SO_RCVTIMEO и SO_SNDTIMEO
Указать время ожидания (при передаче или приеме) сообщения об ошибке. Значения этих опций в Linux зависят от протокола и не могут быть записаны или считаны. Их функциональность может быть эмулирована с помощью alarm(2) или setitimer(2).

Но alarm(2) или setitimer(2) доставляют сигнал, разве они прервут выполнение, а точнее зависшую команду recv при потерянном соединении?? По крайне мере у меня висит очень долго... как сделать это время поменьше? например секунды 3-4?? В виндах setsockopt прокатывает и отрабатывает как надо.
Спасибо сказали: