之前有个需求,由于h5端不支持tcpsocket通信,于是中间搭了个安卓框架作为通信的介质,在开武汉学院发中遇到一个问题,当后端传一个比较大的数据上来时,一条完整的数据会没有规矩的分成若干个包,每条数据可能不存在完整的包头包尾。所以我想了一个用缓存数据的方法来对数据进行拼包。
后端会对每一串数据添加包头(十六进制02)和包尾(十六进制03)进行上报,分包后的数据解析后会有四种情况:
1、 包头*********包尾 或 包头*******包尾包头*******包尾
2、 包头*******
3、 ********
4、 教师节贺卡怎么制作*********包尾
例如设备列表数据上报,当有几十只设备的数据时,后端会对每十只设备的数据进行包头包尾的添加。
上图是一条完整的数据。
每串json有字段totalnumber(总共的设备数)alreadyreportnumber(已上报的设备数)根据两个数据的比较来判断数据是否已经上传完。
因为所有上报的数据婧麒婴儿装只用一个接口来接受中学作文网,所以在处理数据时还要判断数据类型,项目中所用思路以下:
因为进行分包的是type为devlist的数据,后端传上来还会有其他类型的数据,所以我会将其他类型的数据去除包头包尾后单独输出,如果是分包的devlist数据,会用一个变综测分有什么用量缓存,再拼接到下一串上传的数据中。
本文发布于:2023-04-07 07:59:17,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/e8957a799585a9f35fa70266c8583152.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:app项目中遇到TCP分包,H5端对分包进行拼包.doc
本文 PDF 下载地址:app项目中遇到TCP分包,H5端对分包进行拼包.pdf
留言与评论(共有 0 条评论) |