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】