
Protobuf
SlimShadys_
这个作者很懒,什么都没留下…
展开
-
【Protobuf】pb跨语言传输文件签名验证
文章目录pb跨语言传输文件签名验证结论pb2语法,pb2编译pb3语法,pb3编译pb2语法,pb3编译pb跨语言传输文件签名验证结论pb2语法,pb2编译C++、Java、Python二进制文件签名一致,同为Apb3语法,pb3编译C++、Java、Python、Go二进制文件签名一致,同为Bpb2语法,pb3编译C++、Java、Python二进制文件签名一致,为AGo二进制文件签名为B所有文件均可反序列化成功,正确获取数据Go操作C++Java原创 2020-08-26 18:48:44 · 702 阅读 · 0 评论 -
【Protobuf】pb协议中enum的坑
pb协议中enum的坑问题背景在客户端和服务端使用pb协议进行数据传输时,如果客户端对proto文件进行更新,而服务端没有及时更新,则会出现服务端进行正常反序列化获取到错误数据的情况,并且不会进行错误提示。测试内容定义一个proto文件,message里定义一个enum类型,验证以下内容假设enum里定义了A B C,生成pb协议文件,程序A使用这份pb文件,然后设置enum字段的值,然后序列化后成一份二进制流,把这个二进制流写到文件里把proto文件里的enum的定义改成A B,生成pb协议原创 2020-07-29 00:00:40 · 7621 阅读 · 0 评论 -
【Protobuf】pb中类型字段不匹配问题
文章目录pb中类型字段不匹配问题背景结论原始数据测试1测试2pb中类型字段不匹配问题背景客户端更新proto,新增message字段,探索新增字段的数据类型和标签对服务端反序列化数据的影响结论新增字段数据类型与服务端相同标签数据类型:不同:无法获取数据,但是不报错相同:能够获取到数据,但数据不是真正要获取的pb中序列化和反序列化数据时,对message字段只关注它的数据类型和标签,不关注定义的名称原始数据demo2_1.protosyntax = "proto2";mes原创 2020-07-28 23:53:09 · 1834 阅读 · 2 评论 -
【Protobuf】Protobuf入门
文章目录Protobuf入门简介序列化和反序列化XML、JSON和ProtoBufProtoBuf APIDemoProtobuf入门简介Protobuf全称是Google Protocol Buffer,是一种高效轻便的结构化数据存储方式,可用于(数据)通信协议、数据存储等。也可以理解为结构化数据的序列化方法,可简单类比为XML(这里主要是指在数据通信和数据存储这些应用场景中序列化方面的类比,但个人认为XML作为一种扩展标记语言和Protobuf还是有着本质区别的),其具有以下特点:语言无关原创 2020-07-24 21:53:56 · 366 阅读 · 0 评论