4.2. 接收信息


此客户端程序使用 < connection-url > 连接到服务器,为源 <address& gt; 创建一个接收器,并接收信息直到终止或到达 < 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
使用 Amqp; 导入 Amqp 命名空间中定义的类型。AMQP 由项目引用 Amqp.Net.dll 定义,并提供与 AMQ .NET 关联的所有类、接口和值类型。
2
命令行 arg[0] url 是 AMQP 连接的主机或虚拟主机的网络地址。这个字符串描述了连接传输、用户和密码凭证,以及远程主机上连接的端口号。URL 可以处理路由器网络的代理、独立对等点或入口点。
3
命令行 arg[1] 源是远程主机上消息源端点或资源的名称。
4
命令行 arg[2] 计数 是要发送的消息数。
5
peerAddr 是创建 AMQP 连接所需的结构。
6
创建 AMQP 连接。
7
接收器 是一个客户端 ReceiverLink,可以接收该消息。链接是任意命名的 recv-1。使用环境中有意义的链接名称,并有助于识别忙碌系统中的流量。链接名称不受到限制,但在同一会话中必须唯一。
8
收到一条消息。
9
可以接受消息。这会将消息的所有权从对等点传输到接收器。
10
收到所有消息后,协议对象将按顺序关闭。

运行示例

要运行示例程序,请编译程序并从命令行执行它。如需更多信息,请参阅 第 3 章 开始使用

<install-dir>\bin\Debug>simple_recv "amqp://guest:guest@localhost" service_queue
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部