我似乎不明白协议缓冲区的一些简单问题,但这对我和我的真实用例来说是非常重要的问题. 在阅读有关协议缓冲区的文档时,我不明白如何知道您应该从流中解码哪条消息?关于某些已定
在阅读有关协议缓冲区的文档时,我不明白如何知道您应该从流中解码哪条消息?关于某些已定义消息的所有示例,但如果您已定义了几个完全不同的消息,并且您希望在两个进程之间发送这些消息 – 您如何知道刚收到的消息?
或者,协议缓冲区可能不会尝试解决此问题,并将此问题留给另一个抽象级别?
或许我应该将消息打包成这样的结构:
message wrapper { required string message_name = 1; string packed_message = 2; }
然后我应该分两个阶段解码消息:首先获取message_name,然后在第二阶段解码真正的打包消息,不应该吗?
看看 self describing messages section