使用 curl multi interface 编写的高性能封装类和示例

CurlMultiDemo是一个基于libCurl库的简单封装类,利用MultiInterface支持单线程、纯异步的GET和POST操作,尤其在上传大量文件时表现出高效率。程序会在指定目录下查找文件并上传至服务器,同时利用任务队列和连接重用来优化性能。代码中可能存在逻辑错误或内存泄露,使用者需要注意并可提交改进。

CurlMultiDemo

  • 使用 libCurl 的 Multi Interface 的一个简单封装类,支持功能:

    • 单线程 + 纯异步 的 Get/Post 支持
    • 极高的性能(使用 POST 上传 600+ 文件,仅耗时4~6秒)
      在这里插入图片描述
  • 使用方式:

    • 1.编译或下载 libcurl 库, 我采用的是 vcpkg
    • 2.搭建或找一个支持 MultiPart 上传文件的服务器, 如没有,可以使用 vertx-upload
    • 3.Visual Studio(2015) 打开工程, 按需更改 CCurlMultiDemo::_curlMgr_multiPartPost 中的以下部分:
      • fileFinder.Find(TEXT(“D:\vcpkg\installed\”) <== 从该目录下扫描指定格式的所有文件,更改成自己想要的目录
      • strUrl = TEXT(“http://127.0.0.1:8080/form”) <== 文件将被 POST 上传到以下路径
    • 4.运行程序, 即会扫描目录,并上传文件, 最后弹出对话框,显示长传文件数
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值