LibCurl怎么判断接收数据完成了.

threadroc 2016-09-14 01:10:23
ContentLength还好,可以根据协议头返回的长度判断返回内容是否接收完毕.
但是chunked,因为WriteFunction只能获取返回内容byte数据,所以不能获取chunked结束标识zhi.

有用过LibCurl的请指教下
...全文
454 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinhaolin 2017-05-02
  • 打赏
  • 举报
回复
不知楼主解决没,我也遇到这个问题
版本使用了7.66 没有用最新的,测试的时候发现7.66以后的版本每次访问都会有1~3条本地(127.0.0.1)的连接和发送数据,不知道是什么问题 支持 HTTP/HTTPS/WebSocket/zlib (WebSocket 模拟出来的) 其他的协议都去掉了,SSL由openssl换成SSPI 文件小的很多 修改内容 增加 curl_slist_add 以替代 curl_slist_append curl_slist_append 接口在添加的时候没有检查重复和覆盖的功能 添加相同的头信息后发送的时候会有多条头信息 curl_slist_add  添加的时候会检查重复并覆盖,删除重复的头 添加 Curl_Perform 以替代 curl_easy_perform 可实现提交取返回一次性完成,不需要自己设置回调,处理数据 增加上传/下载进度的功能,可实现获取实时进度 CURL本来不支持 WebSocket 协议 使用了模拟的方法 实现了 WebSocket 协议 使用 CURLOPT_CONNECT_ONLY 连接服务器成功后 构造请求头发送后获取返回的数据,判断是否是 WebSocket 之后创建线程,循环获取服务器返回的数据, 发送和接收到的数据 使用 WebSocket 协议进行组包和拆包,得到实际的数据 访问的 URL,把 WS/WSS 替换成 HTTP/HTTPS 即可 没有做长连接测试,不知道是否支持 WebSocket 只做了简单是处理,可能有BUF,有能力的可以完善下 支持多线程,多线程循环访问没有出错 libcurl.rar (179 K) 下载次数:136 Vc 源码 curl-7.66.rar (3591 K) 下载次数:67 项目在 projects\Windows 文件夹里 我使用的是 Vc14(VS2015),Vc14-是原始未修改的 Vc10(VS2010,生成的文件更小),也是修改的,可以用,Vc10-是原始未修改的

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧