RabbitmqConnect - RabbitMQ 连接库


GPL
跨平台
C/C++

软件简介

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);
}