2012-04-17 9 views
1

私はC#で複数のサーバークライアントアプリケーションを持っています。私の要件は、さまざまなクライアント間でいくつかの浮動小数点値を交換することです。どのIPC機構が使いやすいのは、&です。共有メモリは最もシンプルですが、C#では安全でないコードと見なされるポインタを使用しています。 他のメカニズムを教えてもらえますか?コード例は大歓迎です。.NET 4.0で最も簡単な実装を持つIPCはどれですか?

答えて

1

最も良い方法は、WCF名前付きパイプを使用することです。ここにいくつかの主要な手順があります。

  1. IServerActionsとIClientActions IServerActionsは、クライアントアプリケーションによって呼び出されるメソッドを定義し、たとえば、二つのインターフェースを定義し、 IClientActionsは、サーバーが個別に呼び出すか、またはブロードキャストするためのメソッドを定義します。 IServerActionsにはRegisterメソッドが含まれている必要があります。
  2. クライアントとサーバーアプリケーションで2つのインターフェイスを実装します。 実装クラスは、アプリケーション内のメインフォームまたはシングルトンクラスにすることができます。
  3. クライアントからサーバーへのクライアントとサーバー間の通信は、名前付きパイプチャネルを作成してメソッドを呼び出すのと似ています。 クライアントは一意のID(Guid.NewGuid()など)を取得し、サーバーに登録します。 Serverは

(あなたのケースで浮動番号を送信して)クライアントIDのリストを保持し、メッセージを放送するための独立したチャネルを作成することができますここでは、.NET C#で良い例・ソリューションです。
http://www.codeproject.com/Articles/7176/Inter-Process-Communication-in-NET-Using-Named-Pip

関連する問題