MQTT協議 C#客戶端


MQTT協議C#客戶端

1、引入M2MQTT的dll庫文件

點擊此處下載 M2Mqtt.Net.dll

2、建立客戶端連接並訂閱

 

[csharp]  view plain  copy
 
  1. //創建客戶端實例  
  2. MqttClient client = new MqttClient(IPAddress.Parse(MQTT_BROKER_ADDRESS)); //主機為IP時  
  3. MqttClient client = new MqttClient(MQTT_BROKER_ADDRESS); //當主機地址為域名時  
  4.   
  5. // 注冊消息接收處理事件,還可以注冊消息訂閱成功、取消訂閱成功、與服務器斷開等事件處理函數  
  6. client.MqttMsgPublishReceived += client_MqttMsgPublishReceived;   
  7.   
  8. //生成客戶端ID並連接服務器  
  9. string clientId = Guid.NewGuid().ToString();   
  10. client.Connect(clientId);   
  11.   
  12. // 訂閱主題"/home/temperature" 消息質量為 2   
  13. client.Subscribe(new string[] { "/home/temperature" }, new byte[] { MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE });   
  14.   
  15. ...   
  16.   
  17. void client_MqttMsgPublishReceived(object sender, MqttMsgPublishEventArgs e)   
  18. {   
  19. //處理接收到的消息  
  20. string msg = System.Text.Encoding.Default.GetString(e.Message);  
  21.         textBox1.AppendText("收到消息:" + msg + "\r\n");  
  22. }   

3、發布消息

 

[csharp]  view plain  copy
 
  1. // 發布消息到主題 "/home/temperature" 消息質量為 2,不保留   
  2. client.Publish("/home/temperature", Encoding.UTF8.GetBytes("hello"), MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE, false);   

4、參考文獻

https://github.com/mqtt/mqtt.github.io/wiki/libraries 

https://github.com/leytton/m2mqtt (防丟fork)

【轉載請注明出處:http://blog.csdn.net/leytton/article/details/51896738


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM