2012-02-13 5 views
0

私はJavaとCの間でRPCを実装する方法を探しています。これを行うオプションは何ですか?JavaとCの間のリモートプロシージャコール

最高の願い私はGlassfishのサーバおよびCデーモンでホストされているウェブjavaアプリケーションを持っている

p.s。購入した側から関数を直接呼び出す必要があります。

+3

あなたはJNIを見ましたか? http://en.wikipedia.org/wiki/Java_Native_Interface –

答えて

2

RPCの重要なポイントは、異なるシステム上の2つの不透明なプロセスをネットワーク上で互いに話させることです。使用する言語は、両方の言語に対応するRPCライブラリを習得しなければならないという点を除いて、無関係です。

+0

JavaとC-CORBAの間にRPC用のソリューションが見つかりました。これは解決策ですか、これはよく使用されていますか? –

+0

軍用アプリケーション:JTRS-SCA(共同戦術無線システム - ソフトウェア通信アーキテクチャ)軍用SDR(ソフトウェア無線)ベースの無線 –

1

Google Protocol Buffersは、シリアライズの難しさに対処し、「RPCサービス」抽象化を提供します。データを送信するなどの「リモート」部分を実装する必要がありますが、言語間の互換性のあるシリアル化が可能になります。

Googleの実装では、CのみのC++はネイティブにサポートされていませんが、Cはadd-onのいずれかの言語のようです。

1

もう一つの選択肢は、オープンソースの "thrift"ライブラリ(元々はFacebookから)です。また、複数の言語でローカルスタブを生成することもサポートしています。私が@Louis Wassermanによって提案されたプロトコルバッファライブラリは、倹約よりも高品質であると私は思っています。