多卷曲C++ 准备好时不断提供新的处理程序
Multi CURL C++ Continually supply new handlers when ready
我在C++中使用CURL Multi API。
目前,我将提供给它的处理程序数量限制为 5,因此我必须等到它们全部完成,直到我可以再提供 5 个处理程序。
我希望能够检测处理程序何时完成,处理数据,然后生成下一个处理程序以放入新空间。
是否可以在多 API 运行时将处理程序传递给它?
是否可以在多 API 运行时将处理程序传递给它?
是的。
一旦curl_multi_info_read
返回带有CURLMSG_DONE
标志的消息,您就可以:
- 通过
msg->easy_handle
检索相应的简易句柄 - 检查传输是否正常,并对响应执行您想要的操作,
- 用
curl_multi_remove_handle
取下这个简单的手柄
然后,您可以使用 curl_multi_add_handle
向多句柄添加另一个句柄。
大多数情况下,最好的方法是在再次添加之前对简单手柄执行curl_easy_reset
:
curl_multi_remove_handle(multi_handle, easy_handle);
curl_easy_reset(easy_handle);
// here re-configure your handle for the next transfer (CURLOPT_URL, etc)
// ...
curl_multi_add_handle(multi_handle, easy_handle);
相关文章:
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- 如何在信号处理程序和普通函数中对全局变量进行互斥读写操作
- 为什么我的 IExtractIcon 处理程序没有被调用?
- 在遍历处理程序的向量时注册和注销处理程序
- 有可能在信号处理程序中设置promise吗
- 在信号处理程序中捕获C++未处理的异常并恢复应用程序
- 在C++程序中使用的迭代器中未处理的异常
- 有关图像处理应用程序的硬件和软件安全性的建议
- 通过安装信号处理程序关闭多线程应用程序
- QDateTime::toString() 在退出处理程序中使用时失败
- 如何在 WindowProc 处理程序中区分箭头键和数字键盘?
- async_write完成处理程序最早何时完成?
- C++事件系统 - 多态事件和事件处理程序
- 使用信号处理程序处理从 FIFO 接收的数据
- 使用独立的 c++ 程序处理用 C 编写的字符设备驱动程序
- C 程序处理两个文件,而不是一个文件
- 是什么让这个程序处理缓慢?(C++)
- QT 中的应用程序>处理消息?
- MongoDB C++驱动程序处理副本集连接故障
- 使用 OpenCV 程序处理多页 PDF