curl_easy_perform()是同步还是异步

Is curl_easy_perform() synchronous or asynchronous?

本文关键字:同步 异步 easy perform curl      更新时间:2023-10-16

我使用curl发送POSTGET请求,我使用回调函数从这些请求中获得回复。这些callback函数是静态成员函数,反过来调用非静态成员函数(您不能直接在curl中使用非静态成员函数,因此此解决方案)。

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

对我来说重要的是,我想确保我的属性中应该包含回复的数据已经在那里了,或者可能在这个属性中仍然有旧的数据,因为回调函数还没有被调用。

我意识到我的解释不是很清楚,所以如果你不明白,请告诉我,我会尝试重新表述。

谢谢!

将curl_easy_perform()阻塞,直到整个请求被发送AND回复由回调函数

处理

是的,这正是的作用。

(如果你想要一个非阻塞的行为,libcurl的多接口是一种选择)