使用.net进行mqtt协议通讯,主要是为了开发居于mqtt协议向android推送消息,使用.net开发可以参考mqtt.org上面的库,我用的是M2MQTT,网上资料很少,具体例子如下:
一、消息发布:
一、消息发布:
- if (this.sender == null)
- {
- this.sender = new MqttClient(IPAddress.Parse(host), 1883);
- //var mqttClient = new MqttClient("localhost");
- this.sender.Connect("sender");
- }
- this.sender.Publish("mobileGKTopic", System.Text.Encoding.Default.GetBytes(textBox2.Text));
- mqttClient = new MqttClient(IPAddress.Parse(host), 1883);
- //mqttClient = new MqttClient("localhost");
- mqttClient.Connect("Receiver");
- mqttClient.MqttMsgPublishReceived += new MqttClient.MqttMsgPublishEventHandler(mqttClient_MqttMsgPublishReceived);
- mqttClient.Subscribe(new string[] { "testTopic" }, new byte[] { MqttMsgBase.QOS_LEVEL_AT_LEAST_ONCE });
- rivate void mqttClient_MqttMsgPublishReceived(object sender, uPLibrary.Networking.M2Mqtt.Messages.MqttMsgPublishEventArgs e)
- {
- //throw new NotImplementedException();
- var msg = System.Text.Encoding.Default.GetString(e.Message);
- if (!String.IsNullOrEmpty(msg))
- {
- textBox1.AppendText(Environment.NewLine);
- textBox1.AppendText(msg);
- }
- }