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