我需要通過網絡(多人遊戲)傳輸.NET對象(具有層次結構)。爲了節省帶寬,我只想傳輸更改的字段(和/或屬性),所以不會更改的字段不會傳輸。通過網絡在每個字段上傳輸對象
我還需要一些機制來匹配其他客戶端合適的對象(全局對象標識符...類似對象ID?)
我需要一些建議,如何做到這一點。
你會使用反射嗎? (性能至關重要)
我還需要傳送IList delta(添加的對象,刪除的對象)的機制。
MMO網絡是如何完成的,它們是否傳輸整個對象?
(也許我的每場傳遞的想法是愚蠢的)
編輯:
要清楚:我已經有機制來追蹤變化(可以說每一個領域都有財產,二傳手增加場某種列表或字典,其中包含更改 - 結構不是最終的)。
我不知道如何序列化這個列表,然後在其他客戶端反序列化它。主要是如何有效地做到這一點,以及如何更新適當的對象。
這裏有大約一百個對象,所以我想避免當我爲每個對象編寫特殊函數的情況。使用屬性裝飾字段或屬性是可以的(例如指定序列化器,字段ID或類似的東西)。
關於對象的更多信息:每個對象平均有5個字段。一些對象從其他繼承。
謝謝你所有的答覆。
感謝您的回答,我沒有考慮到這一點 –