из описания setsockopt:
SO_RCVTIMEO и SO_SNDTIMEO
Указать время ожидания (при передаче или приеме) сообщения об ошибке. Значения этих опций в Linux зависят от протокола и не могут быть записаны или считаны. Их функциональность может быть эмулирована с помощью alarm(2) или setitimer(2).
Но alarm(2) или setitimer(2) доставляют сигнал, разве они прервут выполнение, а точнее зависшую команду recv при потерянном соединении?? По крайне мере у меня висит очень долго... как сделать это время поменьше? например секунды 3-4?? В виндах setsockopt прокатывает и отрабатывает как надо.
что посоветуете в место setsockopt(Socket,SOL_SOCKET,SO_RCVTIMEO (как сделать небольшой таймер для сокета при падении клиента)
Модератор: Модераторы разделов
-
Seven
- Сообщения: 88
- ОС: Fedora 11, openSUSE 11.2