2009-02-27 160 views
1

分享應用程序特定數據類型我要創建一個服務器(JAVA) - 客戶端(C++)系統,服務器和客戶端將與對象的工作(數據類型)至極是相同的客戶端和對於服務器,例如汽車對象將在客戶端創建,然後發送到服務器,在汽車對象上進行附加計算。我想要做的是創建一個汽車對象的通用實現,並在服務器和客戶端中使用此實現。首先,我想創建一個dll(使用C++),其中所有數據類型對客戶端和服務器都是一樣的,但是這個解決方案有一個缺點。由於此解決方案僅適用於Windows操作系統,因此我必須支持Win,Mac,Linux。那麼是否有針對我的問題的多平臺解決方案?與服務器和客戶端

我把我感謝所有的replyes。

回答

0

只要你堅持標準庫(跨平臺),你不應該有任何困難,重新編譯庫(DLL)作爲OS X和共享庫(.so) Linux操作系統。當然,在Java中加載它們是一個不同的問題(我沒有任何專業知識)。

但是,更重要的是,對於客戶端服務器應用程序,您可能希望查看對象的有效serialization,以便它們可以通過網絡傳輸並由接收器可靠地重新構建。

+0

在Java中加載它們很簡單(的System.loadLibrary),但他們需要對他們有JNI包裝(即針對可能的設計)。 – TofuBeer 2009-02-27 07:41:24

3

谷歌有用於傳輸客戶端和服務器之間的數據對象在您的情況稱爲Protocol Buffers一個開源庫。它支持C++,Java和Python。

0

這看起來像一個好工作的XML。那就是我要開始的地方。