使用C#实现MQTT客户端以连接外部MQTT代理

时间:2016-04-15 17:29:21

标签: c# mqtt

我是MQTT协议的新手,并使用终端命令在ubuntu和openwrt平台上进行一些测试。我已经在openwrt chaos calmer上成功安装了开源MQTT代理Mosquitto,现在我可以使用两个不同的终端窗口发布/订阅主题。我打算用最少的用户界面构建一个简单的GUI应用程序来发布MQTT消息。我看到了M2Mqtt库的支持。但是,当涉及到文档时,没有关于如何连接外部MQTT代理的正确指导。

我遵循了这份文件http://www.hivemq.com/blog/mqtt-client-library-encyclopedia-m2mqtt

如何使用C#将消息发布到外部托管的MQTT代理(在我的情况下,虚拟框中,在openwrt之上)?

1 个答案:

答案 0 :(得分:3)

您提到的链接已包含您的答案。

连接到MQTT代理:

MqttClient client = new MqttClient("broker.hivemq.com");
byte code = client.Connect(Guid.NewGuid().ToString());

要发布消息,请执行以下操作:

ushort msgId = client.Publish("/my_topic", // topic
                              Encoding.UTF8.GetBytes("MyMessageBody"), // message body
                              MqttMsgBase.QOS_LEVEL_EXACTLY_ONCE, // QoS level
                              false); // retained