curl_easy_perform()是同步还是异步?

Sil*_*ver 14 c++ curl libcurl

curl用来发送POSTGET请求,我使用回调函数来获取这些请求的回复.这些callback函数是静态成员函数,它们又调用非静态成员函数(您不能直接使用非静态成员函数,curl因此这种解决方法).

由于这些回调函数无法返回结果,因此我在C++类中使用一个属性来存储回复.这一切都很好,但现在我的问题.是否curl_easy_perform()阻止,直到整个请求被发送并且回复由回调函数处理或我的程序继续之后curl_easy_perform()是否在收到来自请求的回复时以某种方式被中断?

对我来说重要的是我想确保我的属性中应该包含回复的数据已经在那里,或者是否可能在此属性中仍然存在旧数据,因为尚未调用回调函数.

我意识到我的解释不是很清楚,所以如果你不明白,请告诉我,我会试着改写它.

谢谢!

Dan*_*erg 16

curl_easy_perform()是否阻塞,直到发送整个请求并且回调函数处理回复

是的,这正是它的作用.

(如果您更喜欢非阻塞行为,那么libcurl的多接口就是您的选择.)