如何在VB.NET中創建和讀取數據包? 我希望創建一個應用程序來發送某種類型的對象,然後讓客戶端對該對象進行反序列化,並且可能建立一個雙向通信,客戶端發送一條信息,服務器回覆一個適配對象爲了它。如何在VB.NET中創建和讀取數據包結構?
0
A
回答
1
結賬ProtoBuf-Net。快速,小巧,健壯,有點簡單(稀少的文檔)和免費。 關於SO和at this link的信息請點擊。它會以少於10行的代碼(加上一些Class/Property屬性)將某些東西序列化爲文件或mem流,並輸出很多東西,比NET二進制序列化器要小很多。基本的代碼很簡單:
Try
Dim fs As New FileStream(mUserFile, FileMode.Create, FileAccess.Write)
Serializer.Serialize(fs, _Profiles)
fs.Close()
fs.Dispose()
Catch ex As Exception
MessageBox.Show("PBN Error", MsgTitle, MessageBoxButtons.OK, _
MessageBoxIcon.Exclamation)
End Try
在這種情況下,5個或6 ListOf項目的集合被序列化(即嵌套),但它可能是很容易得到的一類。加載/反序列化同樣簡單。
可能有一種解決方法,我從來沒有找到過,但是當我嘗試類似於您所描述的內容時,NET二進制序列化程序只會反序列化爲創建它的相同程序集類文化類型。這對於使您的項目專有的輸出非常有用,對數據交換非常不利。輸出也是巨大的(將NET中的空字典序列化爲3000字節,而PBN需要300字節)。 NET序列化程序稍微適合的地方在於程序集被混淆時; MS知道如何獲取數據,而不是與其他人分享。即使那樣,它也只會在流程中增加幾個步驟。
PBN適用於列表,字典等所有集合的東西,但本地不會做像矩形,點和大小的東西。編寫一個轉換器來提供一些可行的東西並不難(我昨天爲Bitmap寫了一個)。
VB開發人員最大的缺點是所有文檔,示例和討論/幫助都來自/ for C#。這不僅讓一些VB人的目光黯然失色,而且使它看起來像是C#特有的解決方案。同樣,信息(導線類型,數據包等)使它聽起來像一個網絡數據交換解決方案。實際上,在各種情況下,它都可以和VB一起工作。
相關問題
- 1. 如何在C中動態創建和讀取結構?
- 2. 大數據文件:讀取和創建結構化文件
- 3. 如何從節點和弧的數據結構中創建圖數據結構?
- 4. 如何在actionscript3(ini或sql)中創建和讀取數據庫?
- 5. 如何在EAR中包含和讀取構建信息?
- 6. 如何創建/設計數據結構?
- 7. 如何創建數據結構?
- 8. 如何創建這個數據結構?
- 9. 如何創建B +樹數據結構
- 10. 在Java中創建數據結構
- 11. 在JavaScript中創建數據結構
- 12. 在PHP中創建數據結構
- 13. 如何讀取結構數組在IOS
- 14. 如何創建並讀取javascript對象以保存以下數據結構?
- 15. 在Java中創建網絡數據包分層結構
- 16. 如何通過從文件中讀取來構建Python數據結構
- 17. 如何在php中讀取/寫入結構化數據?
- 18. 如何創建r中像數據的數據結構(火山)
- 19. 從matlab中的結構讀取數據
- 20. 速度來創建和讀取數據
- 21. 在Java中創建類似於數據結構的結構
- 22. 在Go中創建結構以從API中讀取
- 23. 如何在Python中創建嵌套的數據結構?
- 24. 如何在Tcl中創建數據結構?
- 25. 如何在golang中創建嵌套數據集的結構?
- 26. 如何在Python中創建進程間數據結構?
- 27. 如何在JavaScript中創建數據結構?
- 28. 如何在python中創建複雜的數據結構
- 29. 如何簡化在Python中創建巨大的數據結構
- 30. 如何從Erlang中的文件中讀取數據結構?