经过几天的搜索尝试,网上很多写关于Flutter中使用protobuf 的文章,但是点进去,几乎都是清一色的介绍怎么安装环境,然后最后一步就是在pubspec.ymal中添加protobuf: ^0.13.4依赖.或者是flutter下使用protobuf和socket与服务器通信的文章。但是现在做前段开发的估计大部分用户还是用的Dio库进行的网络请求,至少目前我未找到一篇让我接入有用的文档。也就有了我的摸索经历了。
一、背景介绍
1.市面上搜索不到满足我当前需求的flutter 中具体怎么使用PB协议文档。
需求:后台未使用gcpb框架处理pb,flutter如何使用dio库去解析一个具体的网络请求,该接口返回的是pb格式数据
2.使用PB协议的大部分公司使用了grpc框架配合使用(当时我在解决这个问题时,放弃过Dio解析pb协议的第二个选择验证方案),但是这个grpc 需要后台配合各端一起实现,因为 该方式的使用时直接制定Host 端口号就可以,如果后台没使用这个框架, 前端没法玩。
3.咨询了下熟悉这块的大佬的到回复如下:
目前官方来说不支持flutter中Dio数据解析成protobuf,就连json的处理也是官方优化后,出了插件辅助开发使用的,不过这个思路和方案闲鱼官方有实现,也有一定的思路参考,你可以借鉴一下,或者找一下看看闲鱼的开源版本是否发布了.
https://blog.csdn.net/yunqiinsight/article/details/86700217
二、结果
问题已经解决,在flutter中使用现有的Dio 3.x版本,完成了PB协议解析正确解析
申请个专利再发!😄