MQTT協議C#客戶端
1、引入M2MQTT的dll庫文件
點擊此處下載 M2Mqtt.Net.dll
2、建立客戶端連接並訂閱
- //創建客戶端實例
- MqttClient client = new MqttClient(IPAddress.Parse(MQTT_BROKER_ADDRESS)); //主機為IP時
- MqttClient client = new MqttClient(MQTT_BROKER_ADDRESS); //當主機地址為域名時
- // 注冊消息接收處理事件,還可以注冊消息訂閱成功、取消訂閱成功、與服務器斷開等事件處理函數
- client.MqttMsgPublishReceived += client_MqttMsgPublishReceived;
- //生成客戶端ID並連接服務器
- string clientId = Guid.NewGuid().ToString();
- client.Connect(clientId);
- // 訂閱主題"/home/temperature" 消息質量為 2
- client.Subscribe(new string[] { "/home/temperature" }, new byte[] { MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE });
- ...
- void client_MqttMsgPublishReceived(object sender, MqttMsgPublishEventArgs e)
- {
- //處理接收到的消息
- string msg = System.Text.Encoding.Default.GetString(e.Message);
- textBox1.AppendText("收到消息:" + msg + "\r\n");
- }
3、發布消息
- // 發布消息到主題 "/home/temperature" 消息質量為 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】