linux下rabbitmq SimpleAmqpClient客戶端的使用的簡單例子
阿新 • • 發佈:2019-01-08
在rabbitmq的官網上有詳細的各種語言的rabbitmq教程,然而唯獨沒有C++版本的, 本文將提供一個簡單的例子, 若想進一步學習可以通過官網教程和SimpleAmqpClient的API文件學習, API文件的生成方法在上一篇部落格中有寫.如果覺得麻煩, 也可以看下一篇: linux下SimpleAmqpClient的函式引數解釋
send.cpp
#include <SimpleAmqpClient/SimpleAmqpClient.h>
#include <iostream>
#include <string>
using namespace std;
int main() {
string queue = "hello";
AmqpClient::Channel::ptr_t channel = AmqpClient::Channel::Create();
channel->DeclareQueue(queue, false, false, false, false);
string str = "hello world!";
channel->BasicPublish("", queue, AmqpClient::BasicMessage::Create(str));
cout << "sent hello world" ;
}
recv.cpp
#include <SimpleAmqpClient/SimpleAmqpClient.h>
#include <iostream>
#include <string>
using namespace std;
int main() {
while(1) {
string queue = "hello";
AmqpClient::Channel::ptr_t channel = AmqpClient::Channel::Create();
channel-> DeclareQueue(queue, false, false, false, false);
AmqpClient::Envelope::ptr_t envelope;
channel->BasicConsume(queue, "", true, true, false);
bool success = channel->BasicConsumeMessage(envelope, -1);
string buffer = envelope->Message()->Body();
cout << buffer << endl;
}
}
編譯
g++ send.cpp -o send -lSimpleAmqpClient
g++ recv.cpp -o recv -lSimpleAmqpClient
執行
第一個終端 ./recv
第二個終端 ./send
執行結果
第一個終端將顯示 hello world!