В Linux системах есть Accept фильтры, которые включаются через setsockopt с флагом TCP_DEFER_ACCEPT. т.е. у них идея такая что accept не вернет сокет пока не придут на него данные или не сработает таймаут. Оч удобная система. Видел что для Windows используют в подобных целях AcceptEx функцию, но вот как именно - хз. MSDN тольком ничего про accept фильтры не упоминает. или мож плохо искал ) Может ктонить видел гденить доку по этой теме.