Как обрабатывать получение асинхронных сокетов в C ++? - PullRequest
4 голосов
/ 10 июня 2010

В настоящее время я использую поток для асинхронной обработки вызовов Connect и Send. Это все работает нормально, но теперь я хочу сделать прием асинхронным тоже. Как получить данные, не останавливая всю очередь в ожидании данных? Единственное решение, о котором я могу думать прямо сейчас, - это вторая тема.

Ответы [ 2 ]

7 голосов
/ 10 июня 2010

Просмотр неблокирующих сокетов и API-интерфейсов опроса, таких как select(2) / poll(2) / epoll(4) / kqueue(2).

В частности, в C ++ смотрите boost::asio.

2 голосов
/ 11 июня 2010

В зависимости от того, что вы делаете, ответом может быть неблокирующая I / O с помощью select

Взгляните на этот урок .

...