2012-03-15 17 views
3

私はプロセス処理に責任があるクラスCPUを持っており、プロセスのキューに入っています。 CPU側のプログラムはサーバー上に実装され、プロセス側のキューはクライアント側にあります。プロトコル - TCP。 そのクラスのインスタンスがクライアント側で作成されている場合、どのようにサーバーからクラス・プロセスからメソッドを呼び出すことができますか。C++のリモートメソッド呼び出し

この問題の解決策を教えてください。 オブジェクトをネットワーク経由でサーバに渡す方が簡単かもしれません(もちろん可能です)。 C++は何らかのRMIライブラリを提供していますか?

実際のプロセスクラスには名前付きのメンバーstringが1つしかありません。おそらく、この文字列をサーバーに渡してサーバー側でオブジェクトを再作成する方が簡単でしょうか?

+0

C++のライブラリは数多くあり、言語自体はリモートサポートを提供していません。 – Nick

答えて

1

CORBAは実際に欲しいものです。リモートオブジェクトにメッセージを送信するメカニズムを提供します。

+1

Ouch ... CORBAは、ユーザーが実際に何を行う必要があるかに応じて、少し過剰なものになる可能性があります。 +1しても、実際にCORBAを使ってサービスを実装するのは実際には難しくないことがわかっているうちに、正しいことを得るのに時間がかかるとしても、 –

1

Thrift(http://thrift.apache.org/)をご覧ください。これは唯一の選択肢ではありませんが、操作が非常に簡単で、メソッドを呼び出してさまざまな言語間でオブジェクトを渡すこともできます。特別な言語でサービスを定義し、クライアントとサーバーのC++コード(または好きな言語)を生成するコンパイラを実行してから、マシン間でメソッドを呼び出すだけです。

もし興味があるなら、私はslideshareに置くことについての素晴らしいプレゼンテーションがあります:

http://www.slideshare.net/dvirsky/introduction-to-thrift

0

あなたはXML-RPCを使用することができます。これは、軽量で使いやすいRPCメカニズムです。あなたはそれを得ることができますhere

関連する問題