2014-03-05 26 views
0

我需要知道用於套接字編程中數據結構的高效機制。讓我們考慮一下裝配線上汽車製造的一個例子。Client Server場景中複雜且相互關聯的數據結構

初始傳送器是空的,然後我開始動態添加不同的部分。我如何使用TCP/UDP將數據傳輸到服務器。我可以做些什麼,以便我的服務器可以識別,如果我動態添加一些新的部分?並且在計算出服務器返回的數據到相同結構的客戶端後,客戶端可以將計算的數據放在組件的確切位置上。

是否可以使用一些B TreeB+ Tree結構來安排這些數據?是否有可能在服務器端重建相同的樹?可能有其他可能的替代方法來做到這一點?

enter image description here

回答

1

需要序列數據,無論你需要發送到服務器,以便將一些文本或二進制BLOB。是的,可以序列化相關的數據結構,例如通過給項目分配一些ID然後通過該ID引用它們。對於C++序列化,我建議看看Boost.Serialization

最簡單的ID是串行器(發送方)端的內存地址 - 準備使用的一種唯一標識符。當然,在解串器方面,它必須被視爲一個公正的ID而不是內存地址。

+0

謝謝,但是你知道它有什麼區別,如果我們使用B樹,因爲它們提供了一些定義好的方式來插入和刪除樹節點。爲什麼他們不能用於我的要求?你能否談談關於這件事的一些事情。 – User

+0

對不起,描述輸送機的最佳方式是固定尺寸的陣列,直到您提供有關您的設計或要求的更多細節。最好把它作爲一個單獨的問題。 –