4

假设 .proto 文件永远不会改变,并且我们有一个基于 TCP 的客户端-服务器系统,它们通过 protobuf 消息说出每个 otehr。在客户端和服务器都在 protobuf 版本 2.4.1 之前。现在服务器升级到 2.5.0(首先使用 2.5.0 protoc exe 重新编译 .java 文件,然后链接到 2.5.0 运行时库)。但是客户端仍然可以使用 2.4.1 版本。这个系统还能用吗?

我认为这是客户端-服务器系统的常见问题。我相信它会起作用,但实际上我没有从谷歌提供的文档中找到任何关于它的词。

4

1 回答 1

2

是的,那应该可以正常工作。唯一会破坏它的是,如果您开始使用 2.4.1 中不存在的新功能,但如果不更改 .proto 架构就不可能做到这一点,因此您确实可以避免这种情况。版本容错是 protobuf 中的一件大事;新功能(例如:打包数组)总是选择加入并需要 .proto 更改。

于 2013-10-11T11:02:35.277 回答