參考文章:
開發環境&工具: vs2017 rabbitmq erlang執行環境
先安裝erlang執行環境然後再安裝rabbitmq
安裝和配置就不說了
預設安裝路徑:c:\program files\rabbitmq server,在rabbitmq_server-3.6.11\sbin資料夾下有bat檔案
下面直接說**
客戶端client把傳送的訊息儲存到rabbitmq中,伺服器開啟的時候會從rabbitmq中讀取儲存的訊息
專案結構圖
clinet端**(記得新增 rabbitmq.client的nuget包)
1server端**(記得新增 rabbitmq.client nuget包)using
newtonsoft.json;
2using
rabbitmq.client;
3using
system;
4using
system.text;
5using
rabbitmqlib;67
namespace
rabbitmqclient8"
,30 code = $"
code_"31
};32
string jsonstr =jsonconvert.serializeobject(requestmsg);
33byte bytes =encoding.utf8.getbytes(jsonstr);
3435
//設定訊息持久化
36 ibasicproperties properties =channel.createbasicproperties();
37 properties.deliverymode = 2
;38 channel.basicpublish("", "
myfirstqueue
", properties, bytes);
3940 console.writeline("
訊息已經傳送:
" +requestmsg.tostring());41}
42}43}
44}45catch
(exception ex)
4649
console.readline();50}
51}52 }
1客戶端顯示效果using
newtonsoft.json;
2using
rabbitmq.client;
3using
rabbitmq.client.events;
4using
rabbitmqlib;
5using
system;
6using
system.text;78
namespace
rabbitmqserver946
}47}48
}49catch
(exception ex)
5053
console.readline();54}
55}56 }
服務端顯示效果
最後還有類庫的兩個類
poster: 由於queueingbasicconsumer已經過時,所以server的**需要修改
1try2;10
using (iconnection conn =factory.createconnection())
11using (imodel channel =conn.createmodel())12;
33//
進行消費
34 channel.basicconsume("
myfirstqueue
", false
, consumer);
35 console.writeline("
press enter to exit");
36console.readline();
37/*
該**為原始程式,正常。但queueingbasicconsumer已經過時
38//在佇列上定義乙個消費者
39queueingbasicconsumer consumer = new queueingbasicconsumer(channel);
40//消費佇列,並設定應答模式為程式主動應答
41channel.basicconsume("myfirstqueue", false, consumer);
42while (true)
4353
*/54}55
}56catch
(exception ex)
57
在C 中使用訊息佇列RabbitMQ
1 什麼是rabbitmq。詳見 作用就是提高系統的併發性,將一些不需要及時響應客戶端且占用較多資源的操作,放入佇列,再由另外乙個執行緒,去非同步處理這些佇列,可極大的提高系統的併發能力。2 安裝 a.如果沒有erlang執行環境,在安裝過程中會提醒先安裝erlang環境。注意安裝完成後必須配置環境...
c 中使用訊息
摘自 在c 中,程式採用了的驅動採用了事件驅動而不是原來的訊息驅動,雖然.net框架提供的事件已經十分豐富,但是在以前的系統中定義了豐富的訊息對系統的程式設計提供了方便的實現方法,因此在c 中使用訊息有時候還是大大提高程式設計的效率的。定義訊息 在c 中訊息需要定義成windows系統中的原始的6進...
在Flex中使用訊息服務
flex與伺服器的通訊元件除了httpservice,remoteobject,webservice外,還有producer consumer元件。producer和consumer使用messaging的方式通訊,與請求響應機制不同,這是一鐘發布訂閱機制。客戶端向伺服器訂閱訊息,當伺服器訊息發生變...