繁体   English   中英

proto2可以和proto3通话吗?

[英]Can proto2 talk to proto3?

我有两个通过GPB消息互相通信的应用程序。 两者都使用了proto3,但发现其中一个必须使用proto2。 如果消息相同,一个程序可以使用proto2进行编译,而另一个程序可以使用proto3进行编译吗? 还是需要使用相同版本的proto进行编译。

有线格式非常相似,因此在某种程度上可以使用。 但是,有一些警告:

  • proto3上不存在required / optional字段的区分。 您应该在proto2一侧将所有字段设为optional ,以避免有关缺少必填字段的错误。
  • 当proto3对字段进行编码时,在proto2端进行解码时,任何具有零值的字段都将丢失。 如果您在proto2侧将零指定为默认值,则应该可以。
  • 扩展和任何类型都很难以与两者兼容的方式使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM