我使用curl
發送POST
和GET
請求,我使用回調函數從這些請求中獲取回覆。這些callback
函數是靜態成員函數,它們依次調用非靜態成員函數(您不能直接在curl
中使用非靜態成員函數,因此可以使用此解決方法)。curl_easy_perform()是同步的還是異步的?
由於這些回調函數不能返回結果,我使用C++類中的屬性來存儲回覆。這一切都很好,但現在我的問題。是否curl_easy_perform()
阻塞,直到整個請求被髮送並且回覆由回調函數處理或者我的程序在curl_easy_perform()
之後繼續並且在收到請求的回覆時以某種方式被中斷?
對我來說,重要的是我要確保屬性中包含回覆的數據已經存在,或者有可能仍然存在此屬性中的舊數據,因爲回調函數沒有但被稱爲。
我意識到我的解釋不是很清楚,所以如果你不明白,請讓我知道,我會嘗試重新修改它。
謝謝!
的回調將爲您傳遞給函數內部調用。 – 2013-03-09 14:26:14
所以你的意思是我濫用詞回調函數?我只是告訴curl,當數據進來時,需要將這些數據傳遞給某個函數。我認爲這也是一個回調函數。但是你傳遞迴調函數來curl_easy_setopt()。請求的所有選項都在curl_easy_perform()之前設置。我只想知道curl_easy_perform()是否阻塞,直到請求被處理。 – Silver 2013-03-09 14:50:34