Здравствуйте, oxenus, Вы писали:
O>Есть около 3000 сокетов, на любой из них могут приходить данные, либо коннекшн может разорваться.
O>Какие предложения, как управлять всеми сокетами одновременно?
O>соответсвенно надо вызывать select для проверки по timeout-у.
Так в чем проблема, последний параметр в select как раз и есть таймаут. Задай его в соответствующее значение и все. Индивидуальные таймауты по последней операции гнезда храни в каком-нибудь списке/массиве.
Вообще говоря, 3000 гнезд — это много, тем более на процесс. Возможно, стоит посмотреть реализацию Apache — там создается несколько процессов и входящие соединения распределяются между ними.