0
多條消息我已經在proto
文件中的下列信息的Protobuf - 同一類
message User
required string name = 1;
required string password = 2;
- 我怎樣才能區分同一消息的多個實例?
- 如果我想序列化一個應用程序的註冊用戶,例如
- protobuf是否表示?
多條消息我已經在proto
文件中的下列信息的Protobuf - 同一類
message User
required string name = 1;
required string password = 2;
這隻適用於一些額外的編碼。當protobuf從流中讀取消息時,它不知道一條消息的長度。它只是將字段流視爲名稱/值對,並且沒有指示消息開始或結束的指示符。
從docs:
如果你想多封郵件寫到一個文件或流,它是由你來跟蹤其中一個消息結束,下開始的。協議緩衝區連線格式不是自定義的,因此協議緩衝區分析程序不能自行確定消息的結束位置。
Google的實現包含一些這個用例的助手類。看看CodedInputStream和CodedOutputStream。
用於寫入一種可能的方式:
一種可能的方式:
什麼做ÿ你的意思是「區分同一消息的多個實例」?您可以使用'=='知道它們是否是相同的實例或不是普通的Java方式;你可以知道兩個實例是否使用'equals'具有相同的值。例如: –
:我序列化一個'用戶'。之後,我序列化另一個'用戶'。之後,我想從文件中讀取它們。我如何閱讀所有這些內容?以及如何區分它們? –
你是問如何在一個輸入流中分離多個protobuf消息? – blafasel