我正在寻找一个C ++库来发送异步HTTP请求,这样主要线程就不会被阻止,并且一旦http url请求完成就会被通知。
请告知是否有任何C ++库来实现此异步HTTP客户端功能。
答案 0 :(得分:2)
libcurl的“多”接口可以在后台运行HTTP请求(它使用第二个线程,但效果是一样的)。首先,使用curl_multi_init
创建一个多句柄。然后,设置一个简单的句柄(使用curl_easy_init
创建它,并使用curl_easy_setopt
设置网址和其他选项)并调用curl_multi_add_handle
。 curl_multi_perform
将启动转移并立即返回,您可以致电curl_multi_info_read
以获取简易句柄的状态。完成后别忘了打电话给curl_multi_cleanup
。
答案 1 :(得分:-1)
库不必是异步的。只要它是线程安全的,你应该能够在一个单独的线程中做你需要做的任何事情,并使用线程原语稍后与主线程同步..