我正在用套接字通信構建C#服務器和python客戶端應用程序。服務器將序列化的對象列表發送給客戶端,但是我不知道(也找不到)如何在python中反序列化列表。任何幫助,將不勝感激。反序列化使用protobuf的對象列表
0
A
回答
4
還好吧,我找到了解決辦法,如果有人有興趣。訣竅是創建一個新的消息類型,並重復添加原來的消息類型。以下是如何
message TransactionPackets {
repeated TransactionPacket packet = 1;
}
message TransactionPacket {
required int32 trans_id = 1;
required string user_id = 2;
required int64 date = 3;
}
現在,我可以簡單地通過調用TransactionPackets.ParseFromString反序列化對象的列表()
0
檢查此:
「協議緩存線格式不是自定界,所以協議緩衝分析器不能確定在何處的消息上他們自己的目的,以解決這個問題的最簡單的方法是寫的大小每個消息在你寫消息本身之前,當你讀回消息時,你讀取大小,然後將字節讀入一個單獨的緩衝區,然後從該緩衝區解析出來。
https://developers.google.com/protocol-buffers/docs/techniques
+0
我正在使用protobuf-net。我不知道它是如何序列化數據和/或它放置每個消息的大小:( – Davita
相關問題
- 1. protobuf的不反序列化對象corrctly
- 2. Protobuf反序列化
- 3. 使用過濾器反序列化Protobuf-Net對象
- 4. 序列化使用Protobuf網對象列表
- 5. JSON反序列化的對象列表
- 6. 使用protobuf-net反序列化集合
- 7. 問題使用protobuf-net反序列化(protocolBuffer)序列化數據
- 8. 使用protobuf-net反序列化消息列表
- 9. 反序列化Json到對象列表
- 10. 反序列化對象列表
- 11. 反序列化與列表對象
- 12. 反序列化對象列表java
- 13. 反序列化序列化對象
- 14. Protobuf網r282有問題反序列化對象與r249序列化
- 15. 反序列化包含使用Gson的對象列表的JSON
- 16. 與Hive反序列化protobuf列
- 17. 使用C#序列化Java可反序列化的對象
- 18. 使用JsonConvert.DeserializeObject反序列化派生對象的列表
- 19. 反序列化XML以反對在C列表中的對象#
- 20. 如何在java中序列化/反序列化對象列表?
- 21. 如何序列化protobuf對象到Ehcache?
- 22. protobuf-net和de /序列化對象
- 23. protobuf-net序列化對象圖
- 24. 使用通用列表反序列化對象
- 25. C# - 對象列表的反序列化,不反序列化繼承的屬性
- 26. 使用Json.Net反序列化Json對象
- 27. 使用GSONConverter反序列化gson對象
- 28. 如何使用flexjson序列化和反序列化對象數組列表?
- 29. 使用protobuf序列化dataTable
- 30. 使用DataContractSerializer序列化和反序列化多個對象
您是否嘗試過使用['pickle'](https://docs.python.org/2/庫/ pickle.html#子類,unpickle程序)? – BeetDemGuise
你有什麼試過的?你真的在服務器端使用'protoobuf'嗎?您是否試過[教程](https://developers.google.com/protocol-buffers/docs/pythontutorial)? –
是的,我正在使用protobuf。我可以沒有問題地反序列化單個對象,但我不知道如何使用列表來完成它。這就是爲什麼我不能嘗試任何東西,因爲我不知道。 @DarinDouglass我是python的新手,但我猜pickle不會和.net聊天。這就是爲什麼我使用protobuf – Davita