【发布时间】:2014-03-18 16:43:08
【问题描述】:
我以多线程方式(curl_multi_perform)使用 libCurl,但不知道如何实现,以便我可以处理丢失网络连接(或任何 HTTP 错误)的情况。 当出现任何网络问题时,它看起来永远不会调用我的回调。虽然在详细模式下我看到了以下日志:
…. * getaddressinfo (3) failed.
* Couldn't resolve host xxxx
我已经设置了:
…...
curl_easy_setopt(curl, CURLOPT_URL, actual_url);
curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 1);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, callback);
……
CURLMcode cm = curl_multi_add_handle(multi_handle, curl);
cm = curl_multi_perform(multi_handle, &request_handle_count);
printf("CURL_MULTI_PERFORM: %d\n", cm);
在网络故障中"callback" 函数中没有任何内容:(
【问题讨论】: