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】