让我们说.proto文件永远不会改变,我们有一个基于TCP的客户端服务器系统,他们通过protobuf消息说出每个文件。在客户端和服务器都在protobuf版本2.4.1之前。现在服务器升级到2.5.0(首先使用2.5.0 protoc exe重新编译.java文件,而不是2.5.0运行时库的链接)。但客户端仍然使用2.4.1版本。这个系统还能运作吗?
我认为这是客户端 - 服务器系统的常见问题。我相信它会起作用,但实际上我没有从谷歌提供的文件中找到任何关于它的文字。
答案 0 :(得分:2)
是的,这应该可以正常工作。如果你开始使用2.4.1中不存在的新功能,唯一会破坏它的是,但如果不改变.proto模式就不可能做到这一点,所以你确实可以安全地做到这一点。版本容忍是protobuf的一件大事;新功能(例如:压缩数组)总是选择加入并且需要.proto更改。