在examples解析是由像:當你不知道什麼是具體的消息類型時,如何使用Protocol Buffers從InputStream解析?
AddressBook addressBook = AddressBook.parseFrom(new FileInputStream(args[0]));
但是這意味着你必須知道什麼是預期消息的類型。
我在.proto文件中定義,如「登錄」,「註銷」等不同的消息和生成的Java文件。
你是如何處理的時候你不知道什麼是具體的消息,是即將到來的情況呢?你如何解析它(例如從InputStream)?
生成的文件中是否有一些通用的parse
方法「自動」決定如何解析消息並返回Message
或MessageLite
?
有沒有這方面的'automagical'。你可以設計你的系統來識別/處理多種消息格式(例如XML,JSON等),但是你大多需要自己去做。 – ControlAltDel
我不使用XML/JSON等多種消息格式。我使用默認的二進制writeTo()方法。但是當我做'LoginMessage.writeTo'如何知道它是一個正在添加LoginMessage這樣我就可以用'LoginMessage.parseFrom()'另一端? – Ognyan