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

Implement MQTT client using C# to connect external MQTT broker

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

我关注了这个文档http://www.hivemq.com/blog/mqtt-client-library-encyclopedia-m2mqtt

如何使用 C# 将消息发布到外部托管的 MQTT 代理(在我的例子中是 virtualbox - 在 openwrt 之上)?

您提到的 Link 已经包含您的答案。

要连接到 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