2014-03-12 79 views
0

我正在關注發佈到http服務器this example。我有以下兩個問題:獲取響應與libcurl和初始化

  1. 我不確定是誰在將服務器響應打印到屏幕上。它必須是curl_easy_perform,但我不知道如何禁用它。我只想知道我是否有200 OK或其他迴應。
  2. 如果有兩個線程同時使用curl,他們是否都需要使用curl_easy_init進行初始化,還是需要執行一次?

回答

0

兩個答案都回答在curl FAQ

5.10 How do I prevent libcurl from writing the response to stdout

libcurl提供了一個默認的內置寫入功能,將 接收到的數據寫入標準輸出。將CURLOPT_WRITEFUNCTION設置爲接收 數據,或者將CURLOPT_WRITEDATA設置爲不同的FILE *句柄。

與第二個答案的部分在這個問題上找到:

5.1 Is libcurl thread-safe?

是。

我們編寫了專門針對 多線程程序進行調整的libcurl代碼。如果您的系統具有此功能,libcurl將使用線程安全功能 而不是非安全功能。 請注意,您必須在多個線程中永遠不共享相同的句柄。

所以基本上,如果你使用單獨的捲曲在單獨的線程你的罰款處理,但如果你使用SSL的協議你應該遵循線程安全的鏈接,看看你需要設置什麼SSL互斥回調!