5

C++ の私のアプリケーション (A) は、別のアプリケーション (B) を開始するために別のマシンに curl 呼び出しを行います。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

libcurl 転送操作に許可する最大時間を秒単位で含む long as パラメータを渡します。通常、名前の検索にはかなりの時間がかかる可能性があり、操作を数分未満に制限すると、完全に通常の操作が中止される危険があります。このオプションにより、curl は SIGALRM を使用してタイムアウト システム コールを有効にします。

Unix ライクなシステムでは、CURLOPT_NOSIGNAL が設定されていない限り、シグナルが使用される可能性があります。

デフォルトのタイムアウトは 0 (ゼロ) で、タイムアウトしないことを意味します。

于 2012-12-12T08:33:36.450 に答える