跨语言通讯 📅 2026/7/1 6:10:10 Protocol Buffers 使用文档概述1.1 什么是 Protocol BuffersProtobufProtocol Buffers 是由 Google 开发的一种高效、灵活、可扩展的结构化数据序列化协议用于定义数据格式和序列化机制。它通过 .proto 文件描述数据结构生成目标语言的类从而实现跨语言数据交换。1.2 主要优势● 高效二进制格式数据体积小传输速度快。● 支持多种语言Java、Python、C、Go、JavaScript 等。● 可扩展性可以在不破坏旧代码的情况下添加新字段。● 版本兼容性通过字段编号管理兼容性。基础使用步骤3.1 定义 .proto 文件在 .proto 文件中定义数据结构。以下是一个示例person.protomessageCCUpload{int32MessageIndex1;doubleX3;}在CCUpload 上面加上本次需要上传给的信号量将CC.proto 文件复制到下面文件夹运行bat程序。就可以得到CC.cs文件 替换掉程序中的CC.cs 就可以啦~按照是要上传还是 从获取数据 那么分为 DownLoad Upload在各自的程序当中添加本次新增的信号量 即可完成。5. 常见问题5.1 字段编号冲突● 字段编号必须唯一且避免删除或重用旧编号可能导致兼容性问题。5.2 版本兼容性● 新增字段时使用未使用的编号。● 删除字段时保留编号标记为 deprecated。5.3 调试序列化数据使用 protoc 的 --encode 和 --decode 参数直接调试echoname: Test age: 10|protoc--decode example.Person person.proto最佳实践字段编号管理预留编号空间如 1-100 供常用字段。避免嵌套过深保持 .proto 结构扁平化。使用 proto3优先选择最新语法版本。文档注释在 .proto 中添加注释说明字段用途。参考资料● 官方文档Protocol Buffers 官网● 示例代码仓库protobuf-examples● gRPC 集成Protobuf 常与 gRPC 结合使用gRPC 官网