我使用libcurl从客户端下载一些文件到服务器。我在curl连接中设置了以下选项,
curl_easy_setopt(curlPtr, CURLOPT_LOW_SPEED_LIMIT, 1);
curl_easy_setopt(curlPtr, CURLOPT_LOW_SPEED_TIME, 360);
curl_easy_setopt(curlPtr, CURLOPT_IGNORE_CONTENT_LENGTH, 1);
curl_easy_setopt(curlPtr, CURLOPT_TCP_NODELAY, 1);
即使我在6分钟(360秒)内没有收到任何字节时设置为超时,即使我收到回复,操作也会超时,
这是我从中收到的cURL调试响应,
我已将响应重定向到文件,我可以确认响应字节。但是,在达到6分钟之后,操作仍然会超时。
任何人都可以帮助我,上面有什么我错的吗?
注意我使用的是libcurl 7.19.3。我无法立即升级,但我们计划升级到最新的稳定版本。
感谢, Prabu
答案 0 :(得分:0)
您发布的仅 4行中没有任何错误。
默认情况下,CURLOPT_TIMEOUT和CURLOPT_TIMEOUT_MS值为0。 但是,如果您使用特定的curl实现,请尝试在代码中将这些选项传递给0。
如果它没有改变任何东西,那是因为它在Web服务器上超时。因此,如果您无法控制此服务器,则无法执行任何操作。您必须使用循环创建程序以重新启动连接。