<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          RabbitmqConnectRabbitMQ 連接庫

          聯(lián)合創(chuàng)作 · 2023-10-01 03:56

          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);
          }
          
          瀏覽 28
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  家庭乱伦免费无码视频 | 一本大道东京热无码 | 蜜桃91在线观看 | 翔田千里无遮挡全棵 | 欧美上床网站 |