在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
protobuf,protoc-gen-go,grpc 的兼容问题 并不是大版本号对应上就是兼容的。 也并不是大版本号兼容小版本号的(向前兼容是不存在的) 生成的 *.pb.go 中奇怪的组合: github.com/golang/protobuf/proto/proto3_proto/proto3.pb.go
为什么看图序号1,因为是 syntax = proto3 生成的 而图序号2是 ProtoPackageIsVersion2,所以这里的 2 与 3 是可以正常工作的,并不是我们常识的认识的兼容逻辑。 而:“please upgrade the proto package“,更是错的,protobuf 3 和 protobuf 2 是不兼容的,所以升级后很可能是不能正常工作的。 所以协议 protobuf 2 想要升级是需要一定修改的。修改成 protobuf 3 。这样看代码里这样写很误导人啊。
以上更全面的规则还没有总结出来。 未完。 相关:https://blog.csdn.net/wide288/article/details/109678340
|
请发表评论