是curl_easy_perform()同步或异步?(Is curl_easy_perform()

2019-07-21 06:21发布

我使用curl发送POSTGET请求,我用回调函数来得到这些请求的答复。 这些callback函数这反过来调用非静态成员函数(你不能在使用非静态成员函数的静态成员函数curl直接使为此这种解决方法)。

由于这些回调函数不能返回结果,我使用属性在我的C ++类来存储的答复。 这一切工作正常,但现在我的问题。 是否curl_easy_perform()块,直到整个请求被发送和答复由回调函数处理,或者我的程序后,继续curl_easy_perform()并在收到请求的回复时,它得到莫名其妙中断?

对我的重要性,我想确保我的属性,它应该包含应答中的数据是已经在那里或者是有可能,还有在此属性的旧数据,因为回调函数尚未被调用。

我意识到,我的解释不是很清楚,所以如果你不明白,请让我知道,我会尝试重组它。

谢谢!

Answer 1:

确实curl_easy_perform()块,直到整个请求是发送和应答由回调函数处理

是的,这正是它的作用。

(如果您更希望非阻塞的行为, libcurl中的多接口是要走的路。)



文章来源: Is curl_easy_perform() synchronous or asynchronous?
标签: c++ curl libcurl