4.2. メッセージの受信
このクライアントプログラムは <connection-url>
を使用してサーバーに接続し、ソース <address>
の受信側を作成し、終了するか、<count>
メッセージに到達するまでメッセージを受信します。
例: メッセージの受信
namespace SimpleRecv { using System; using Amqp; 1 class SimpleRecv { static void Main(string[] args) { string url = (args.Length > 0) ? args[0] : 2 "amqp://guest:guest@127.0.0.1:5672"; string source = (args.Length > 1) ? args[1] : "examples"; 3 int count = (args.Length > 2) ? Convert.ToInt32(args[2]) : 10; 4 Address peerAddr = new Address(url); 5 Connection connection = new Connection(peerAddr); 6 Session session = new Session(connection); ReceiverLink receiver = new ReceiverLink(session, "recv-1", source);7 for (int i = 0; i < count; i++) { Message msg = receiver.Receive(); 8 receiver.Accept(msg); 9 Console.WriteLine("Received: " + msg.Body.ToString()); } receiver.Close(); 10 session.Close(); connection.Close(); } } }
- 1
using Amqp;
Amqp ネームスペースで定義されたタイプをインポートします。Amqp は、ライブラリーファイル Amqp.Net.dll へのプロジェクト参照によって定義され、AMQ .NET に関連するすべてのクラス、インターフェース、および値タイプを提供します。- 2
- コマンドライン arg[0]
url
は、AMQP 接続のホストまたは仮想ホストのネットワークアドレスです。この文字列は、接続トランスポート、ユーザーとパスワードの認証情報、およびリモートホストの接続のポート番号を説明します。url はブローカー、スタンドアロンピア、またはルーターネットワークの Ingress ポイントに対応できます。 - 3
- コマンドライン arg[1]
source
は、リモートホストのメッセージソースエンドポイントまたはリソースの名前です。 - 4
- コマンドライン arg[2]
count
は送信するメッセージ数です。 - 5
peerAddr
は AMQP コネクションの作成に必要な構造です。- 6
- AMQP コネクションを作成します。
- 7
receiver
は、メッセージが受信されることができるクライアント ReceiverLink です。リンクは、任意に recv-1 という名前です。お使いの環境で意味を持ち、ビジーなシステムでトラフィックを特定するのに役立つリンク名を使用します。リンク名は制限されませんが、同じセッション内で一意である必要があります。- 8
- メッセージが受信されます。
- 9
- メッセージが許可されます。これにより、メッセージの所有権がピアから受信側に譲渡されます。
- 10
- すべてのメッセージが受信されると、プロトコルオブジェクトは正しい順序でシャットダウンされます。
サンプルの実行
サンプルプログラムを実行するには、コマンドラインでコンパイルして実行します。詳細は、「3章はじめに」を参照してください。
<install-dir>\bin\Debug>simple_recv "amqp://guest:guest@localhost" service_queue