本方案基于第三方库curl,库的链接已经在前面一篇文章中有讲过,有不会的可以去参考一下。
首先给大家先看看调用效果。
下面直接讲一下实现方法:
1.链接第三方curl库,前面有文章讲过可以直接参考,链接成功后进入下一步
2.导一下curl头文件,构造函数中初始化curl库,析构时关闭句柄链接
3.声明一个请求和回调函数,由于流式数据需要实时传输数据,创建一个动态多播代理用来返回回调的数据,由于我这边是一个测试接口就随便写一个请求,需要传参的话自己可以改
4.先来看看调用方法,我这边是一个测试的get请求接口不需要传参所以直接把url传进来,curl的使用方法大家可以自行去curl官网看,我这只是一个简单的实例,这里注意的点,数据传输时一定要开一个新线程否则会导致主线程阻塞(如果多请求可以加锁),请求完成后可以去处理其他逻辑,或者根据自己需求自行拓展
5.最后我们处理接收到的数据,在回调函数中我们把接收到的数据广播给蓝图,在测试中返回的数据会出现乱码的情况(ue是utf16),所以我这边需要把格式转换成utf8。
由于我这边也是刚用到这个库还有很多方法没用过,大家有遇到困难或者具体问题可以留言互相探讨。以上就是流式请求的大概思路,主要就是curl库的使用,大家可以参考一下。