2009-02-27 5 views
1

Ich muss ein Server (Java) - Client (C++) System erstellen, sowohl Server als auch Client müssen mit Objekten (Datentypen) arbeiten, die für den Client und Für den Server wird zum Beispiel ein Fahrzeugobjekt auf der Clientseite erstellt und dann an den Server gesendet, wo zusätzliche Berechnungen für das Fahrzeugobjekt durchgeführt werden. Was ich tun möchte ist, eine universelle Implementierung des Auto-Objekts zu erstellen und diese Implementierung dann innerhalb des Servers und des Clients zu verwenden. Zuerst dachte ich über das Erstellen einer DLL (in C++) mit allen Datentypen, die für den Client und den Server gleich sind, aber diese Lösung hat einen Nachteil. Weil diese Lösung nur unter Windows funktioniert und ich Win, Mac, Linux unterstützen muss. Gibt es also eine Multiplattform-Lösung für mein Problem?Share Anwendungsspezifische Datentypen mit Server und Client

Ich danke allen Ihren Antworten.

Antwort

0

Vorausgesetzt, Sie zu Standardbibliotheken Stick (Cross-Plattform), sollten Sie keine Schwierigkeiten haben, Ihre Bibliothek (DLL) als Shared Libraries (.so) auf OS X neu zu kompilieren und Linux. Natürlich ist das Laden in Java ein anderes Thema (zu dem ich keine Expertise habe).

Noch wichtiger ist jedoch, dass Sie in Ihrem Fall einer Client-Server-Anwendung wahrscheinlich in effektive serialization Ihrer Objekte suchen, so dass sie über das Netzwerk übertragen und vom Empfänger zuverlässig rekonstruiert werden können.

+0

laden sie in Java ist einfach (System.loadLibrary), aber sie müssten JNI-Wrapper für sie haben (das ist der wahrscheinliche Entwurf dafür). – TofuBeer

3

Google hat eine Open Source-Bibliothek mit dem Namen Protocol Buffers für die Übertragung von Datenobjekten zwischen Clients und Servern wie in Ihrer Situation. Es unterstützt C++, Java und Python.

0

Dies sieht aus wie eine gute Arbeit für XML. Dort würde ich anfangen.