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


posted @ 2016-07-13 12:14  Leytton  阅读(803)  评论(0编辑  收藏  举报