Я пишу эхо-сервер TCP, который обрабатывает до 10 одновременных подключений.Он имеет время простоя (когда нет нового соединения или нет новых данных из сокетов) и время ожидания сокета (когда клиент не отправляет ничего нового за время xx).
Я обработал первую часть с таймаутомпараметр в опросе ().Для второй части, для каждого нового соединения я устанавливаю сокет с параметром:
setsockopt (SD, SOL_SOCKET, SO_RCVTIMEO, & socketTimeout, sizeof (struct timeval)
Я ожидаю, что когдаистекло время ожидания сокета, он вызовет poll () и когда я вызову read () после того, как он просто вернет -1, и я могу делать свои вещи. Но, похоже, это не так. SO_RCVTIMEO, похоже, не имеет никакого эффекта для опроса(), что я пропустил?