Я сделал socket_listen, и затем я сделал ручной тайм-аут со временем () +2 и некоторое время цикл с набором неблока и socket_read () внутри. Кажется, работает хорошо. Какие-либо альтернативы?
ОБНОВЛЕНИЕ: Я нашел, что установка сокета как неблокирование и затем использование socket_listen обеспечила тайм-аут, в котором я нуждался.
Вы попробовали socket_set_option значение тайм-аута SO_RCVTIMEO
для входных операций.