RabbitmqConnect

RabbitMQ 连接库
授权协议 GPL
开发语言 C/C++
所属分类 服务器软件、 JMS/消息中间件
软件类型 开源软件
地区 国产
投 递 者 徐文彬
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

RabbitmqConnect介绍

1、RabbitmqConnect是基于C++11实现的简单易用的rabbitmq客户端。

2、源码只包含一个头文件与一个示例代码,无需编译安装,真正做到零依赖。

3、RabbitmqConnect针对RabbitMQ C Client进行封闭,提供给用户更友好的接口。

4、RabbitmqConnect追求极简易用,只提供了以下方法:

  • send发送消息
  • recv接收消息
  • login身份认证
  • close关闭连接
  • connect连接服务器

安装方法

1、下载源码

git clone https://gitee.com/xungen/rabbitmqconnect.git

2、直接在工程中包含RabbitmqConnect.h头文件

3、利用RabbitmqConnect发送与接收消息示例代码如下

发送消息

RabbitmqConnect conn;

if (conn.connect(host, port) && conn.login(user, passwd))
{
    cout << "连接消息队列成功" << endl;

    if (conn.send(exchange, queuename, "message") < 0)
    {
        cout << "发送消息成功" << endl;
    }
    else
    {
        cout << "发送消息失败" << endl;
    }
}

接收消息

while (true)
{
    RabbitmqConnect conn;

    if (conn.connect(host, port) && conn.login(user, passwd))
    {
        cout << "开始监听消息队列[" << exchange << "][" << queuename << "]" << endl;

        while (true)
        {
            conn.recv(exchange, queuename, [](const char* data, int len){
                string msg(data, data + len);

                cout << "收到消息[" << msg << "]" << endl;
            });

            //连接异常需要重连
            if (conn.getErrorCode() == AMQP_STATUS_SOCKET_ERROR) break;
        }

        cout << "监听消息队列失败[" << conn.getErrorString() << "]" << endl;
    }
    else
    {
        cout << "连接消息队列[" << host << ":" << port << "][" << user << "]失败" << endl;
    }

    sleep(5);
}
 相关资料
  • 代码片段如下所示: 如果有人有决议,请帮忙?

  • 本文向大家介绍HTTP长连接、短连接?相关面试题,主要包含被问及HTTP长连接、短连接?时的应答技巧和注意事项,需要的朋友参考一下 在HTTP/1.0中默认使用短连接。也就是说,客户端和服务器每进行一次HTTP操作,就建立一次连接,任务结束就中断连接。当客户端浏览器访问的某个HTML或其他类型的Web页中包含有其他的Web资源(如JavaScript文件、图像文件、CSS文件等),每遇到这样一个W

  • 问题内容: 我在两个表之间有多对多关系。 表包含我的餐厅。 表包含不同的类别。 表包含两列,每列分别包含两个表的ID。 以下陈述是我能想到的,但没有给我我想要的输出。 我希望输出是有关餐厅的信息,并在最后一列中是类别的连接行。 问题答案: 要串联值,可以使用。xml路径解决方案有误,应使用和特殊字符。 您也可以使用变量解决方案

  • 有人能告诉我在maven中scm连接和developerConnection之间的区别吗? 我正在尝试使用,它需要其中之一。 [错误]未能执行goal org . Apache . maven . plugins:maven-release-plugin:2 . 3 . 2:在项目was-topology-legacy-dsl上准备(default-cli ):缺少必需的设置:必须指定scm连接或

  • 在Apache Flink流处理中,连接操作与连接有何不同,因此CoProcessFunction和ProcessJoinFunction有何不同,这是CoProcessFunction提供的onTimer函数吗?您能否提供一个适用于以相互排斥的方式连接/连接的示例用例。

  • 我有一个kafka connect插件,部署在kafka集群中(在独立模式下,仅用于测试,目的是分布式完成)。这个Kafka连接插件使用curator连接到集群的zookeper,并从中提取一些信息,以决定如何处理这些消息。 代码如下: 在treeCache启动时超时,配置根路径存在于本地zookeeper中(已确认在zookeeper外壳中执行ls,对于我尝试使用的zkConnection字符串

  • 圆盘 D72 直线导轨滑块连接器 A 连接片 3*6 连接片 7*9-B 连接片 45° 连接片 135° 连接片 I1 连接片 O1 8mm轴轮连接片 三角连接片 6*8 十字连接片 T型连接片 连接片0324-184

  • 连接是一个合并小矩阵成大矩阵的过程。事实上,你创建第一个矩阵时就是通过将它的各自独立的元素连接在一起的。中括号[]是连接的算子。例如,以4*4魔方A开始,构造 B = [A A+32; A+48 A+16] 结果是含有加入的四个子矩阵的8×8矩阵。 B = 16 3 2 13 48 35 34 45 5 10 11