Я заметил, что иногда select возвращает с установленным Connection Timed out на errno, но я не знаю, почему он это сделает, как он узнает? И как ты думаешь с этим бороться? (Я предполагаю, что это означает, что время одного из соединений истекло, возможно, ACK не был услышан в соответствующее время). Я полагаю, что единственный законный случай этого будет, если там находится сокет сервера, и вы ранее выполняли неблокирующее соединение? В этом случае запуск соединения через этот сокет снова вернет вам, был ли он подключен или нет, и это будет способ справиться с этим .... но есть ли лучший способ?
Заранее спасибо.