当前仓库属于关闭状态,部分功能使用受限,详情请查阅 仓库状态说明
1 Star 0 Fork 5

Morgenlin / RabbitmqConnect
关闭

forked from 寻根 / RabbitmqConnect
关闭
 
加入 Gitee
与超过 600 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未指定开源许可证,未经作者的许可,此代码仅用于学习,不能用于其他用途。
克隆/下载
readme.md 2.08 KB
一键复制 编辑 Web IDE 原始数据 按行查看 历史
寻根 提交于 2019-06-13 09:06 . 修改: readme.md

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发送与接收消息示例代码如下

1.发送消息
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;
	}
}
2.接收消息
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);
}



RabbitMQ官网
RabbitMQ客户端
RabbitMQ C Client下载

评论 ( 0 )

你可以在登录后,发表评论

C++
1
https://gitee.com/morgenlin/rabbitmqconnect.git
git@gitee.com:morgenlin/rabbitmqconnect.git
morgenlin
rabbitmqconnect
RabbitmqConnect
master

搜索帮助