【发布时间】:2016-10-06 18:16:00
【问题描述】:
official site 以及其他一些消息来源将 Google Protocol Buffers 的优势之一描述为高度可互操作。我知道该技术支持开箱即用的不同语言绑定,以及更多第三方实现,但这究竟意味着什么?
我的理解是否正确,认为只要我有一个通用的模式文件,我就可以运行 protoc 编译器并为多种语言生成代码,然后使用生成的代码以一种语言编写程序,将一些数据序列化为一个文件,然后在另一个程序中用另一种语言解析它?
例如,我在 Java 中运行的客户端应用程序是否可以序列化 Google 协议缓冲区并将其通过线路发送到用 C++ 实现的服务器,然后只要双方都是从相同的架构文件?
如果这是正确的,那么是什么允许发生这种情况 - 是否它们的序列化/解析逻辑遵循了一个通用/一致的线路格式,详细说明 here?
【问题讨论】:
标签: parsing serialization protocol-buffers language-interoperability