起因
手上有个项目用到了GRPC来实现实时音视频流通话,为了测试接口,期望找到一个支持rpc的客户端调试工具,最初按照以往经验优先选择了postman(注意:需要在v9.7.1及以上版本支持rpc);因为postman不仅可以测rpc接口还可以测http接口, 心想一举两得。一番操作后,发现公司内网无法连互联网,就无法登录postman账户建立grpc请求,遂再网上找到了BloomRPC工具。
踩坑之旅
按照网上的攻略,安装了BloomRPC,导入了protobuf文件,导出成功后选择对应的接口方法,自动生成了请求数据,再一番参数调试之后成功发起了请求并建立连接,开始发送交互文本textdata,该字段是bytes数据类型,自动生成数据如下:
调试过程发现服务器无法收到正确的字节流数据(eg: 收到数据为空或者乱码),怀疑字段漏传或者错传(但是响应接口对应的bytes字段结构也和自动生成的结构一致),各种修改调试依然不行,期间再网上找资料都没有找到涉及字节流字段的示例,最后再各种胡乱调试结构后找到了bytes字段正确格式:
不得不说,自动生成的格式居然有问题,而且和响应结果bytes字段格式一致,调试bytes字段结构太窒息了,以此经验分享给大家,希望大家不要再踩坑。