我使用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