我有一個使用protobuf發送消息的java後端,它通過tib在一個大字節數組blob中發送定界消息對象。我可以在java中使用函數parseDelimitedFrom(yourStreamHere)反序列化它們,但在C#端我們遇到了一些問題,但找不到任何示例,但我可能只是在此處丟失了一些明顯的東西。使用protobuf-net反序列化消息列表
我們正在做的在C#這樣的事情
using (MemoryStream mem = new MemoryStream())
{
mem.Write(byteArray, 0, byteArray.Length);
mem.Position = 0;
return Serializer.Deserialize<List<OrderState>>(mem);
}
注:我看到這個舊的post,但它看起來相當過時,我認爲已經發生了變化,以protobuf網從那時起,但正確的,如果我錯了有
順便說一句,使用MemoryStream效率不高。你可以簡單地使用'new MemoryStream(byteArray)'將你的字節數組包裝在MemoryStream中,而不是用一個新的內部字節數組創建一個MemoryStream並將你的字節數組複製到它中。 – dtb 2010-09-16 14:00:06
我認爲差別不大,因爲MemoryStream會在內部做這樣的事情,它只是一些示例代碼,您是否對這個問題有任何洞見? – jtruelove 2010-09-16 14:42:38
我不知道我的頭頂形成parsedelimited使用。我現在不在電腦上,但應該可以稍後再看。 – 2010-09-16 14:59:08