curl_easy_perform()是同步还是异步
Is curl_easy_perform() synchronous or asynchronous?
我使用curl
发送POST
和GET
请求,我使用回调函数从这些请求中获得回复。这些callback
函数是静态成员函数,反过来调用非静态成员函数(您不能直接在curl
中使用非静态成员函数,因此此解决方案)。
因为这些回调函数不能返回结果,所以我在c++类中使用一个属性来存储回复。这一切都很好,但现在我的问题。curl_easy_perform()
是否阻塞,直到整个请求被发送并且回复由回调函数处理,或者我的程序在curl_easy_perform()
之后继续,并且当收到请求的回复时是否以某种方式中断?
对我来说重要的是,我想确保我的属性中应该包含回复的数据已经在那里了,或者可能在这个属性中仍然有旧的数据,因为回调函数还没有被调用。
我意识到我的解释不是很清楚,所以如果你不明白,请告诉我,我会尝试重新表述。
谢谢!
将curl_easy_perform()阻塞,直到整个请求被发送AND回复由回调函数
处理
是的,这正是的作用。
(如果你想要一个非阻塞的行为,libcurl的多接口是一种选择)
相关文章:
- gRPC cpp 异步服务器与同步服务器
- 异步操作的 Asio 处理程序在其同步对应项正常工作时不会调用
- 提升 ASIO:异步写入,同步
- 将阻止同步代码转换为异步
- 使用boost :: Beast进行CPU重的REST API,我是否应该使用异步或同步方式来实现它们以期望延迟
- 在 UWP 应用程序中,future.wait() 在尝试同步来自异步方法的响应时继续等待
- sqlite3_exec回调是同步还是异步
- 谈到套接字时使用的同步和异步术语
- C++:如何异步调用同步库调用
- 设计一个结合同步和异步操作的c++ API
- 同步来自多个对象的异步调用
- 工作线程中的同步与异步ioctl
- 当调用ReadDirectoryChangesW时,只有第一次调用返回任何更改(同步和异步)
- curl_easy_perform()是同步还是异步
- 是更好的同步或异步从boost asio时,有大量的计算和推/弹出线程安全容器
- C++ 提升 ASIO |同步写入到异步读取 |无法在第二次读取中接收正确的数据
- 是boost::信号槽被同步或异步调用
- 提升asio同步与异步操作性能
- 使用异步调用与在线程中使用同步调用相同
- 同步和异步api