从示例和文档中,似乎libcurl多接口在批处理模式下提供异步支持,即将简单句柄添加到multi,然后最终使用curl_multi_socket_action同时触发请求。是否可以在添加简单句柄时触发请求但是在请求写入套接字后控件返回应用程序?
修改
它将有助于在下面的模型中触发请求,而不是批量触发请求(假设在客户端创建请求并且在服务器上处理需要相同的持续时间)
客户----- | ----- | ----- | ----- |
服务器< > | ----- | ----- | ----- | ---- |
答案 0 :(得分:0)
多接口返回"控制"一旦它阻止,应用到应用程序。因此,在发出请求后也会返回控制权。
但我想您是否在问如何确切地知道请求何时发送?我认为这只能通过使用CURLOPT_DEBUGFUNCTION并查看请求何时发送。不太方便......
答案 1 :(得分:0)
您可以查看以下文件: https://curl.haxx.se/libcurl/c/hiperfifo.html
它与libevent和libcurl相结合。 运行时,程序会创建命名管道“hiper.fifo”
只要有fifo的输入,程序就会将输入作为列表读取 的URL和创建一些新的简单句柄来通过获取每个URL curl_multi“hiper”API。
fifo缓冲区几乎立即处理,因此您甚至可以在以前的请求仍在下载时添加更多URL。
然后,libcurl将通过调用curl_multi_socket_action
下载所有简单句柄异步,因此控件将返回系统。