我需要序列化和反序列化一系列与字节流之间的 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/