2017-01-19 5 views
0

クライアントサイドとサーバサイドのプログラミング言語が同じであっても、RPC(リモートプロシージャコール)ではIDL(Interface Definition Language)が必要ですか?(つまり、リモートで呼び出される関数は同じプログラミング言語で記述されます関数を呼び出すプログラムとして)?クライアント側とサーバー側で同じ言語をプログラミングするときのRPCでのIDLの役割は?

答えて

0

言語に依存して、引数をマーシャリングするための組み込み機能があり、メソッド識別子&のオブジェクト識別子があるかどうかによって異なります。 C/C++にはこのようなサポートが組み込まれていないため、たとえば、COMインターフェイスを定義するためのMIDLがあります。これをコンパイルすると、メソッド呼び出しセマンティクスをIPC/RPCメッセージングに/から変換するためのプロキシとスタブコードが作成されます。

上位レベルの言語をコンパイルすると、実行時にマーシャリングを生成するのに十分なリフレクションメタデータが生成されるため、プログラミング言語はIDLのです。

関連する問題