1. 程式人生 > >linux下rabbitmq SimpleAmqpClient客戶端的使用的簡單例子

linux下rabbitmq SimpleAmqpClient客戶端的使用的簡單例子

在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!