在C 中使用訊息佇列RabbitMQ

2022-01-24 04:27:45 字數 2079 閱讀 4794

1、什麼是rabbitmq。詳見 

作用就是提高系統的併發性,將一些不需要及時響應客戶端且占用較多資源的操作,放入佇列,再由另外乙個執行緒,去非同步處理這些佇列,可極大的提高系統的併發能力。

2、安裝

a.如果沒有erlang執行環境,在安裝過程中會提醒先安裝erlang環境。

注意安裝完成後必須配置環境變數:

計算機->屬性->高階系統設定 ->環境變數 中的系統變數中新建乙個變數erl_home 值為本機中erlang的安裝目錄(如:d:\program files\erl8.2\),然後再在使用者變數       path中新增上erlang的安裝目錄\bin(如d:\program files\erl8.2\bin); 就ok了

不然可能會出現:rabbitmq unable to connect to node 錯誤

看是否設定成功:開啟 cmd ,輸入 erl 後回車,如果看到如下的資訊,表明安裝成功。

b. rabbitmq服務:

c. .net客戶端類庫:

3、配置

[

, ]}

].

loopback_users:設定只能在與rabbitmq服務同一臺機器上訪問服務的使用者。

設定完後,別忘記了以下操作,否則配置不起作用。

此命令要切換到路徑:d:\program files\rabbitmq server\rabbitmq_server-3.4.0\sbin

4、配置完成執行命令

rabbitmq-service remove

rabbitmq-service install

rabbitmq-service start

5、demo練習。

聯絡前先測試前面的東西是否安裝成功:在...\rabbitmq server\rabbitmq_server-3.4.0\sbin 執行命令:rabbitmqctl status

出現下圖則安裝正確:

訊息生產者:

class

program

", customstr);

requestmsg.code = string.format("

code_

", customstr);

string jsonstr =jsonconvert.serializeobject(requestmsg);

byte bytes =encoding.utf8.getbytes(jsonstr);

//設定訊息持久化

ibasicproperties properties =channel.createbasicproperties();

properties.deliverymode = 2

; channel.basicpublish(

"", "

myfirstqueue

", properties, bytes);

"", "myfirstqueue", null, bytes);

console.writeline(

"訊息已傳送:

在C 中使用訊息佇列RabbitMQ

參考文章 開發環境 工具 vs2017 rabbitmq erlang執行環境 先安裝erlang執行環境然後再安裝rabbitmq 安裝和配置就不說了 預設安裝路徑 c program files rabbitmq server,在rabbitmq server 3.6.11 sbin資料夾下有b...

c 中使用訊息

摘自 在c 中,程式採用了的驅動採用了事件驅動而不是原來的訊息驅動,雖然.net框架提供的事件已經十分豐富,但是在以前的系統中定義了豐富的訊息對系統的程式設計提供了方便的實現方法,因此在c 中使用訊息有時候還是大大提高程式設計的效率的。定義訊息 在c 中訊息需要定義成windows系統中的原始的6進...

在Flex中使用訊息服務

flex與伺服器的通訊元件除了httpservice,remoteobject,webservice外,還有producer consumer元件。producer和consumer使用messaging的方式通訊,與請求響應機制不同,這是一鐘發布訂閱機制。客戶端向伺服器訂閱訊息,當伺服器訊息發生變...