异步HTTP客户端的C ++库

时间:2012-12-24 07:17:36

标签: c++ http asynchronous

我正在寻找一个C ++库来发送异步HTTP请求,这样主要线程就不会被阻止,并且一旦http url请求完成就会被通知。

请告知是否有任何C ++库来实现此异步HTTP客户端功能。

2 个答案:

答案 0 :(得分:2)

libcurl的“多”接口可以在后台运行HTTP请求(它使用第二个线程,但效果是一样的)。首先,使用curl_multi_init创建一个多句柄。然后,设置一个简单的句柄(使用curl_easy_init创建它,并使用curl_easy_setopt设置网址和其他选项)并调用curl_multi_add_handlecurl_multi_perform将启动转移并立即返回,您可以致电curl_multi_info_read以获取简易句柄的状态。完成后别忘了打电话给curl_multi_cleanup

http://curl.haxx.se/libcurl/c/libcurl-multi.html

答案 1 :(得分:-1)

库不必是异步的。只要它是线程安全的,你应该能够在一个单独的线程中做你需要做的任何事情,并使用线程原语稍后与主线程同步..