首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Curl的CURLOPT_XFERINFOFUNCTION回调返回dlnow > dltotal

Curl的CURLOPT_XFERINFOFUNCTION回调返回dlnow > dltotal
EN

Stack Overflow用户
提问于 2015-06-12 13:11:20
回答 1查看 1.7K关注 0票数 1

我一直在使用CURL进行所有HTTP通信。我需要知道服务器何时完成发送给我一个响应。根据卷曲文档,CURLOPT_XFERINFOFUNCTION正是为此而设计的。

但是,每次命中回调函数时,所有参数要么都是0,要么是dlnow ( 233 )之外的所有0。这不是预期的行为,而且我在谷歌搜索后还没有发现有类似问题的人。

回调启动:

代码语言:javascript
运行
复制
curl_easy_setopt(handle, CURLOPT_XFERINFOFUNCTION, CLibCurlThreadTask::CurlProgress);
curl_easy_setopt(handle, CURLOPT_NOPROGRESS, 0L);

回调函数:

代码语言:javascript
运行
复制
int CLibCurlThreadTask::CurlProgress(void *clientp,   curl_off_t dltotal,   curl_off_t dlnow,   curl_off_t ultotal,   curl_off_t ulnow)
{   
if( dltotal > 0 || dlnow > 0 || ultotal > 0 || ulnow > 0)
    {
        CryLogAlways("UP: %" CURL_FORMAT_CURL_OFF_T " of %" CURL_FORMAT_CURL_OFF_T "  DOWN: %" CURL_FORMAT_CURL_OFF_T " of %" CURL_FORMAT_CURL_OFF_T "\r\n", ulnow, ultotal, dlnow, dltotal);
    }   
    return CURLE_OK;
}

输出:

上升:0:0下降: 233 :0 上升:0:0下降: 233 :0 上升:0:0下降: 233 :0 上升:0:0下降: 233 :0

EN

回答 1

Stack Overflow用户

发布于 2017-02-08 08:09:53

这可能是32位/64位平台的问题。

请参阅:http://forum.lazarus.freepascal.org/index.php?topic=29767.0

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30803965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档