一、搭建mqtt控制台服務端
新建一個.net core控制台項目,然后使用Nuget添加MQTTnet包,我這里使用2.4版本,注意不同版本,代碼寫法不相同,如下圖
編寫代碼,詳見注釋
啟動試一下,發現啟動成功了
二、搭建第一個客戶端client1
同樣使用控制台來展示客戶端
具體代碼如下圖
三、搭建客戶端client2
注意,客戶端2和客戶端1代碼大致相同,只是為了演示,他們的主題不同,發送的內容不同
四、運行起來看看效果
右鍵解決方案=》屬性,把三個項目都改為啟動項,應用並確定后執行 CTRL+F5,見下圖
服務器、客戶端1、客戶端2都成功接收和發布了消息,成功。
五、使用帶有dashboard的EMQX來代替自寫服務端
下載地址:https://www.emqx.io/downloads/broker/v3.1.1/
windows版本可選擇前兩個,下載后解壓,注意路徑不要帶有中文,否則會出錯
進入解壓后的文件夾,在地址欄輸入cmd或者打開控制台進入文件夾路徑,執行命令如圖
啟動成功,打開瀏覽器,輸入127.0.0.1:18083,進入登錄界面
用戶名為 admin
密碼 public
登錄后如圖
使用此界面管理工具測試
點擊進入Websocket界面
重新啟動vs項目,發現服務端報錯了,因為我們已經啟動了emqx服務端,占用了同一個tcp端口,直接關掉錯誤的服務端即可
回到emq界面,發現模擬的client1接收到了client2的消息
然后,我們點擊幾次Send按鈕,發現發送的消息也成功被client2接收到了
至此,測試完畢