Простой асинхронный http-сервер на C++ Win32

Андрей15 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
21.08.2010

Нужно открыть сокет на порту и слушать входящие коннекты. При входящем HTTP соединении нужно извлечь параметры и вместе с ip адресом запрашивающего запихать в виде объекта в вектор. Из вектора нужно извлекать объекты с ответами и отдавать их тем кто их запрашивал.

* если задание остается без ответа время большее указанного(по умочанию 5 секунд) то задание из вектора удаляется, tcp коннект разрывается.

* если в векторе больше n(по умолчанию 10) необработанных заданий, то запросивший получает отказ.

*ваш кусок кода запускается в отдельном потоке. Вы можете сгенерить еще 1-2 своих потока.

кросс-платформенный код будет плюсом.