5

我在 c++ 中的应用程序(A)对另一台机器进行 curl 调用以启动另一个应用程序(B)。当 A 进行 curl 调用时,它会等到 B 完成它的工作。所以我只想问一下,应用程序 A 的默认超时是多少,或者默认情况下它是禁用的,即无限超时?

4

1 回答 1

12

来自http://curl.haxx.se/libcurl/c/curl_easy_setopt.html

CURLOPT_CONNECTTIMEOUT

传了很久。它应该包含允许连接到服务器的最长时间(以秒为单位)。这只限制了连接阶段,一旦连接,这个选项就不再有用了。设置为零以切换到默认的内置连接超时 - 300 秒。另请参阅 CURLOPT_TIMEOUT 选项。

.

CURLOPT_TIMEOUT

传递一个 long as 参数,其中包含您允许 libcurl 传输操作执行的最长时间(以秒为单位)。通常,名称查找可能需要相当长的时间,并且将操作限制在不到几分钟的时间内可能会中止完全正常的操作。此选项将导致 curl 使用 SIGALRM 来启用超时系统调用。

在类 unix 系统中,这可能会导致使用信号,除非设置了 CURLOPT_NOSIGNAL。

默认超时为 0(零),这意味着它永远不会超时。

于 2012-12-12T08:33:36.450 回答