2009-02-27 12 views
1

サーバー(Java)クライアント(C++)システムを作成する必要があります。サーバーとクライアントの両方で、クライアントとサーバーの両方で同じオブジェクト(データ型)サーバーの場合、たとえば、カーオブジェクトがクライアント側で作成され、サーバーに送信されます。ここで、カーオブジェクトに対して追加計算が実行されます。私がしたいのは、carオブジェクトの汎用実装を1つ作成し、この実装をサーバーとクライアント内で使用することです。まず、クライアントとサーバーで同じデータ型のdll(C++)を作成することを考えましたが、このソリューションには欠点があります。このソリューションはWindows OSでのみ動作するため、Win、Mac、Linuxをサポートする必要があります。それで私の問題のマルチプラットフォームソリューションはありますか?アプリケーション固有のデータ型をサーバーとクライアントで共有する

すべての返信に感謝します。

答えて

0

あなたは標準ライブラリ(クロスプラットフォーム)に固執提供を、あなたはどの難易OS Xとの共有ライブラリ(.soという)として、あなたのライブラリ(DLL)を再コンパイルする必要はありませんLinux。もちろん、それらをJavaでロードすることは別の問題です(私は専門知識を持っていません)。

さらに重要なのは、クライアントサーバーアプリケーションの場合、オブジェクトがネットワーク経由で送信され、受信者によって確実に再構築されるように、オブジェクトの有効範囲を調べることです。

+0

Javaでロードするのは簡単ですが(System.loadLibrary)、JNIラッパーを用意する必要があります。 – TofuBeer

3

Googleには、状況に応じてクライアントとサーバーの間でデータオブジェクトを転送するためのProtocol Buffersというオープンソースライブラリがあります。 C++、Java、Pythonをサポートしています。

0

比較のために、このページを参照してください。それが私が始める場所です。

関連する問題