RabbitmqConnectRabbitMQ 連接庫
RabbitmqConnect介紹
1、RabbitmqConnect是基于C++11實(shí)現(xiàn)的簡單易用的rabbitmq客戶端。
2、源碼只包含一個(gè)頭文件與一個(gè)示例代碼,無需編譯安裝,真正做到零依賴。
3、RabbitmqConnect針對RabbitMQ C Client進(jìn)行封閉,提供給用戶更友好的接口。
4、RabbitmqConnect追求極簡易用,只提供了以下方法:
-
send發(fā)送消息 -
recv接收消息 -
login身份認(rèn)證 -
close關(guān)閉連接 -
connect連接服務(wù)器
安裝方法
1、下載源碼
git clone https://gitee.com/xungen/rabbitmqconnect.git
2、直接在工程中包含RabbitmqConnect.h頭文件
3、利用RabbitmqConnect發(fā)送與接收消息示例代碼如下
發(fā)送消息
RabbitmqConnect conn;
if (conn.connect(host, port) && conn.login(user, passwd))
{
cout << "連接消息隊(duì)列成功" << endl;
if (conn.send(exchange, queuename, "message") < 0)
{
cout << "發(fā)送消息成功" << endl;
}
else
{
cout << "發(fā)送消息失敗" << endl;
}
}
接收消息
while (true)
{
RabbitmqConnect conn;
if (conn.connect(host, port) && conn.login(user, passwd))
{
cout << "開始監(jiān)聽消息隊(duì)列[" << 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 << "監(jiān)聽消息隊(duì)列失敗[" << conn.getErrorString() << "]" << endl;
}
else
{
cout << "連接消息隊(duì)列[" << host << ":" << port << "][" << user << "]失敗" << endl;
}
sleep(5);
}
評論
圖片
表情
