http post & get блокирует вызов? - PullRequest
0 голосов
/ 29 апреля 2011

Я вижу большинство http-кодов в php.

Я собираюсь написать некоторые вызовы http на c ++ с использованием CURL.
Интересно, если http изначально блокирует (в отличие от неблокирования).
IE, когда вы отправляете сообщение get / post,Ваша тема заблокирована, пока не получит ответ?

Если это не так, есть ли способ выполнить неблокирующее http get или post с помощью CURL?

Спасибо

1 Ответ

1 голос
/ 29 апреля 2011

HTTP - это протокол, поэтому он не является блокирующим или неблокирующим. Единственное, что напоминает «блокирующее поведение» в HTTP, это то, что вы не можете отправлять два запроса или два ответа одновременно в одном конвейере - вы должны дождаться завершения запроса, прежде чем отправлять другой.

Таким образом, ваш реальный вопрос о блокирующих операциях должен касаться CURL - разрешает ли он неблокирующий ввод-вывод?

Ответ заключается в том, что в libcurl есть нечто, называемое «мультиинтерфейс», что позволяет использовать его без блокировки: http://curl.haxx.se/libcurl/c/libcurl-multi.html

Если вы предпочитаете библиотеку, которая лучше подходит для асинхронного ввода-вывода, вы можете проверить Boost.ASIO. Я никогда не использовал это сам, но это кажется популярным: http://www.boost.org/doc/libs/1_46_1/doc/html/boost_asio.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...