Кроссплатформенный способ чтения данных из нескольких соединений в одном потоке - PullRequest
0 голосов
/ 12 ноября 2011

Мое приложение должно загружать несколько веб-страниц одновременно, и я знаю, что это возможно в одном потоке из-за опыта программирования epoll в linux. В настоящее время я использую CURL для взаимодействия с HTTP, но ...

обновление: Обнаружен MULTI-интерфейс локона: http://curl.haxx.se/libcurl/c/libcurl-multi.html Думаю, вопрос решен (-;

1 Ответ

1 голос
/ 12 ноября 2011

Кроссплатформенный способ - использовать select или poll, которые указаны в POSIX.

В качестве альтернативы и более эффективно, вы можете использовать библиотеку. Основным преимуществом библиотеки является то, что она может делать вещи более эффективно, чем select, используя системные механизмы.

Например, хорошая сетевая библиотека, вероятно, будет использовать:

  • epoll в Linux
  • kqueue на FreeBSD
  • /dev/poll на солярисе
  • pollset в AIX
  • iocp на Win32
  • и т.д.

Я думаю, вы можете использовать asio для C ++ или libevent для C.

...