天天看點

MQTT協定 C#用戶端(基于M2MQTT)1、引入M2MQTT的dll庫檔案2、建立用戶端連接配接并訂閱3、釋出消息4、參考文獻

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】