当你不知道具体的消息类型是什么时,如何使用Protocol Buffers从InputStream解析?

时间:2017-03-10 15:22:56

标签: java protocol-buffers

examples解析中就像:

AddressBook addressBook = AddressBook.parseFrom(new FileInputStream(args[0]));

但这意味着您必须知道预期消息的类型。

我在.proto文件中定义了不同的消息,如“登录'登录'等等”,并生成了java文件。

当你不知道即将发生的具体信息是什么时,你如何处理这种情况?你如何解析它(例如从InputStream中解析)?

生成的文件中是否存在一些通用parse方法"自动"确定如何解析邮件并返回MessageMessageLite

1 个答案:

答案 0 :(得分:1)

Protobuf基本上只是一个序列化API。所以没有通用的方法来“知道”它是什么消息。

我会尝试使用唯一标识每种消息类型的消息头。也许这对你来说已经足够了。