protocol-buffers - 确定 Protocol Buffer 消息类型的最佳实践

标签 protocol-buffers

我需要序列化和反序列化一系列与字节流之间的 Protocol Buffer 消息。有一些预先确定的消息类型。编码类型信息的推荐方法是什么,以便我的应用程序可以知道它应该读取哪种类型?

最佳答案

最常见的方法是使用 union message .

例如:

message AnyMessage {
    optional Message1 msg1 = 1;
    optional Message2 msg2 = 2;
    ...
}

然后所有消息都在 AnyMessage 中编码/解码容器。从 protobuf 2.6 开始,您还可以使用 oneof说明符将确保只设置一个子消息。

关于protocol-buffers - 确定 Protocol Buffer 消息类型的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26048832/

相关文章:

python - 以编程方式检查是否需要谷歌 Protocol Buffer 字段

protocol-buffers - 如何使用Google Protobuf通过网络发送 float ?

java - 升级没有 .proto 的 protobuf jar 的命名空间

python - Protocol Buffer - 将具有相同 .proto 文件的二进制数据文件合并到一个文件中

c++ - 如何在 linux 上通过 cmake 链接 google protobuf 库?

c# - ProtoBuff.Net 不支持 null。为什么?

java - 在 java 和 scala 中使用 protobufs 的问题

Java : Proto parser library

go - makefile 中的 protoc 以构建 protobuf

python - 查找自定义 protobuf 插件时出错