HTTP Post & Get 正在阻止呼叫?
http post & get is blocking call?
我在php中看到大多数http代码。
我准备用CURL在c++中编写一些http调用。
想知道http是否天生就是阻塞的(而不是非阻塞的)。
IE,当你发送get/post消息,你的线程被阻塞,直到它得到响应?
如果它不是,有没有一种方法来执行非阻塞http get或post与CURL?
谢谢
HTTP是一个协议,所以它本身并不是阻塞或非阻塞的。在HTTP中,唯一类似于"阻塞行为"的是你不能在同一个管道中同时发送两个请求或两个响应——你必须等待请求完成后再发送另一个。
所以你关于阻塞操作的真正问题应该是关于CURL的——它是否允许非阻塞IO?答案是libcurl有一个叫做"多接口"的东西,它允许你使用它而不阻塞:http://curl.haxx.se/libcurl/c/libcurl-multi.html
如果你更喜欢面向异步IO设计的库,你可以看看Boost.ASIO。我自己从来没用过,但它似乎很流行:http://www.boost.org/doc/libs/1_46_1/doc/html/boost_asio.html
相关文章:
- 呼叫运营商<<临时
- 如何使用curlpp通过POST方法上传文件和json数据
- 使用libcurl提交批量url的正确BING Api POST url是什么
- 命名空间 pqxx 无法识别 - 将 libpqxx 添加到 Windows 上的 Visual Studio Post
- 如何使用boost/beast从HTTP POST请求中解析和提取有效负载?
- 如何使用 curl 将 POST 请求从 python 重写为 C++
- 从简单的 POST 请求中解析异常
- Visual Studio 2017 中的 cpprestapi 问题找不到 POST/GET 常量
- 使用 cpp-httplib 的 POST 请求
- 呼叫 QSound,它们之间有延迟 Qt C++
- 什么是呼叫说明
- POST Arduino 传感器值通过 Flask API 发送到本地 Sqlite db
- C++:如何通过 curl 调用使用 HTTP post 请求发送二进制数据(protobuf 数据)
- C++中的 cURL POST 请求
- C++ Schannel POST 400 错误代码错误请求
- c++curl返回413请求实体过大,但是post大小远小于max大小
- HTTP POST 请求不允许我定义上下文类型
- 为什么make_shared在不同的呼叫中分配相同的地址?
- 如何在c++中使用libcurl发送POST请求并接收它
- HTTP Post & Get 正在阻止呼叫?