在examples解析中就像:
AddressBook addressBook = AddressBook.parseFrom(new FileInputStream(args[0]));
但这意味着您必须知道预期消息的类型。
我在.proto文件中定义了不同的消息,如“登录'登录'等等”,并生成了java文件。
当你不知道即将发生的具体信息是什么时,你如何处理这种情况?你如何解析它(例如从InputStream中解析)?
生成的文件中是否存在一些通用parse
方法"自动"确定如何解析邮件并返回Message
或MessageLite
?
答案 0 :(得分:1)
Protobuf基本上只是一个序列化API。所以没有通用的方法来“知道”它是什么消息。
我会尝试使用唯一标识每种消息类型的消息头。也许这对你来说已经足够了。