B.5. Interop.Client, Interop.Server (リクエスト - レスポンス)
この例は、クライアントから文字列を受け入れ、大文字に変換し、クライアントに送る単純なブローカーベースのサーバーを示しています。これには 2 つのコンポーネントがあります。
- クライアント - 一行の詩をサーバーに送り、レスポンスを出力します。
- サーバー - 受信文字列を大文字に変換し、リクエスト元に返す簡単なサービス。
この例では、サーバーとクライアントは service_queue という名前のブローカーのサービスエンドポイントを共有します。サーバーは、サービスエンドポイントでメッセージをリッスンします。クライアントは、一時的に動的な ReplyTo キューを作成し、一時的な名前をリクエストに埋め込み、リクエストをサーバーに送信します。各リクエストを受信して処理した後、サーバーがクライアントの一時的な ReplyTo アドレスに返信を送信します。
Interop.Client コマンドラインオプション
Command line: Interop.Client [peerURI [loopcount]] Default: Interop.Client amqp://guest:guest@localhost:5672 1
Command line:
Interop.Client [peerURI [loopcount]]
Default:
Interop.Client amqp://guest:guest@localhost:5672 1
Interop.Server コマンドラインオプション
Command line: Interop.Server [peerURI] Default: Interop.Server amqp://guest:guest@localhost:5672
Command line:
Interop.Server [peerURI]
Default:
Interop.Server amqp://guest:guest@localhost:5672
Interop.Client、Interop.Server サンプル呼び出し
プログラムは、次のコマンドラインで起動できます。
Interop.Server.exe amqp://guest:guest@localhost:5672 Interop.Client.exe amqp://guest:guest@localhost:5672
$ Interop.Server.exe amqp://guest:guest@localhost:5672
$ Interop.Client.exe amqp://guest:guest@localhost:5672
PeerToPeer.Server は、コマンドラインで指定されたアドレスにリスナーを作成します。このアドレスは、受信接続をリッスンする ContainerHost クラスオブジェクトを初期化します。受信メッセージは非同期で RequestProcessor クラスオブジェクトに転送されます。
PeerToPeer.Client はサーバーへの接続を開き、サーバーへのメッセージの送信を開始します。
PeerToPeer.Client コマンドラインオプション
Command line: PeerToPeer.Client [peerURI] Default: PeerToPeer.Client amqp://guest:guest@localhost:5672
Command line:
PeerToPeer.Client [peerURI]
Default:
PeerToPeer.Client amqp://guest:guest@localhost:5672
PeerToPeer.Server コマンドラインオプション
Command line: PeerToPeer.Server [peerURI] Default: PeerToPeer.Server amqp://guest:guest@localhost:5672
Command line:
PeerToPeer.Server [peerURI]
Default:
PeerToPeer.Server amqp://guest:guest@localhost:5672
PeerToPeer.Client、PeerToPeer.Server サンプル呼び出し
1 つのウィンドウで PeerToPeer.Server を実行します。
別のウィンドウで PeerToPeer.Client を実行します。PeerToPeer.Client は、サーバーにメッセージを送信し、受信したレスポンスを出力します。