相关疑难解决方法(0)

如何在C++中异步执行curl_multi_perform()?

我来curl同步使用http请求.我的问题是如何异步进行?

我做了一些搜索,引导我curl_multi_*从这个问题和这个例子的界面文档,但它根本没有解决任何问题.

我的简化代码:

CURLM *curlm;
int handle_count = 0;
curlm = curl_multi_init();

CURL *curl = NULL;
curl = curl_easy_init();

if(curl)
{
    curl_easy_setopt(curl, CURLOPT_URL, "https://stackoverflow.com/");
    curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, writeCallback);
    curl_multi_add_handle(curlm, curl);
    curl_multi_perform(curlm, &handle_count);
}

curl_global_cleanup();
Run Code Online (Sandbox Code Playgroud)

回调方法writeCallback不会被调用,也没有任何反应.

请建议我.

编辑:

根据@ Remy的回答,我得到了这个,但似乎并不是我真正需要的.使用循环的原因仍然是阻塞.请告诉我,如果我做错了或误解了什么.我其实很擅长C++.

这是我的代码:

int main(int argc, const char * argv[])
{
    using namespace std;
    CURLM *curlm;
    int handle_count;
    curlm = curl_multi_init();

    CURL *curl1 = NULL;
    curl1 = curl_easy_init();

    CURL *curl2 = NULL;
    curl2 = …
Run Code Online (Sandbox Code Playgroud)

c++ curl asynchronous libcurl

10
推荐指数
1
解决办法
2万
查看次数

标签 统计

asynchronous ×1

c++ ×1

curl ×1

libcurl ×1