亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 問個libcurl長連接的問題 [打印本頁]

作者: aychxm    時間: 2012-06-26 14:38
標(biāo)題: 問個libcurl長連接的問題
看例子有介紹說,
  1. CURL *curl;
  2.   CURLcode res;

  3.   curl_global_init(CURL_GLOBAL_ALL);

  4.   curl = curl_easy_init();
  5.   if(curl) {
  6.     /* get the first document */
  7.     curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/");
  8.     res = curl_easy_perform(curl);

  9.     /* get another document from the same server using the same
  10.        connection */
  11.     curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/docs/");
  12.     res = curl_easy_perform(curl);

  13.     /* always cleanup */
  14.     curl_easy_cleanup(curl);
  15.   }
復(fù)制代碼
意思是說:在init成功后,cleanup之前,curl handle會保持一個長連接,比如在完成http://example.com/的請求后,再請求http://example.com/docs/,沒有斷開連接。

我想問的是,curl handle能保持多個服務(wù)器的長連接么?
比如,請求了163.com/aaa 后,再請求sohu.com/aaa,接著又請求163.com/bbb,那么這里到163.com是否會保持長連接?
作者: 冷寒生    時間: 2012-06-26 17:19
HTTP/1.1支持長連接,保持連接的時間貌似是由服務(wù)器決定的。

其實連接最花時間的是DNS解析,而CURL有DNS緩存設(shè)置項,這樣也可以節(jié)約連接時間。

/*緩存DNS,單位(秒)*/
curl_easy_setopt(curl, CURLOPT_DNS_CACHE_TIMEOUT, 60 * 60 * 72);

作者: evaspring    時間: 2012-06-26 21:57
我之前使用libcurl 的時候 一個CURL連接訪問多個URL之后就不穩(wěn)定了,我最后只好每次訪問一個URL的時候創(chuàng)建一個連接
作者: aychxm    時間: 2012-06-27 08:57
回復(fù) 2# 冷寒生


    感謝!

curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
    curl_easy_setopt(curl, CURLOPT_HEADER, 1L);
這兩行代碼看出來了,可以保持多個host的長連接。不過對能保持多少個還不是很清楚,還需要再看下libcurl的文檔




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2