上海外贸网站,旅游网站设计及开发,wordpress怎么编辑的,查看一个网站的备案介绍 MQTT#xff08;消息队列遥测传输#xff09;是一种轻量级消息传递协议#xff0c;专为资源受限的环境而设计。MQTT 广泛应用于物联网 (IoT) 和机器对机器 (M2M) 通信。 本文将讨论如何在 .NET 7 中实现 MQTT 消费者。我们将使用 MQTTnet 库#xff0c;这是 C# 中的高…
介绍 MQTT消息队列遥测传输是一种轻量级消息传递协议专为资源受限的环境而设计。MQTT 广泛应用于物联网 (IoT) 和机器对机器 (M2M) 通信。 本文将讨论如何在 .NET 7 中实现 MQTT 消费者。我们将使用 MQTTnet 库这是 C# 中的高性能 MQTT 客户端库。
设置环境 要开始使用 .NET 7您必须在系统上安装它。您可以从 .NET 官方网站下载并安装 .NET 7。 要使用 MQTTnet您需要将 MQTTnet NuGet 包添加到您的项目中。您可以使用 Visual Studio 中的 NuGet 包管理器或 dotnet CLI 来完成此操作。
dotnet add package MQTTnet
实现 MQTT 消费者
您需要创建一个新的控制台应用程序来在 .NET 7 中实现 MQTT 消费者。在此示例中我们将订阅一个主题并从 MQTT 代理接收消息。
using System; using System.Threading; using System.Threading.Tasks; using MQTTnet; using MQTTnet.Client; using MQTTnet.Client.Options; using MQTTnet.Client.Subscribing; using MQTTnet.Protocol; class Program { static async Task Main(string[] args) { var factory new MqttFactory(); var client factory.CreateMqttClient(); var options new MqttClientOptionsBuilder().WithTcpServer(localhost, 1883).WithClientId(mqtt_consumer).Build(); client.UseConnectedHandler(async e { Console.WriteLine(Connected to MQTT broker.); var topicFilter new MqttTopicFilterBuilder().WithTopic(test/topic).Build(); await client.SubscribeAsync(new MqttClientSubscribeOptionsBuilder().WithTopicFilter(topicFilter).Build()); }); client.UseDisconnectedHandler(async e { Console.WriteLine(Disconnected from MQTT broker.); await Task.Delay(TimeSpan.FromSeconds(5)); try { await client.ConnectAsync(options, CancellationToken.None); } catch { Console.WriteLine(Reconnecting to MQTT broker failed.); } }); client.UseApplicationMessageReceivedHandler(e { Console.WriteLine($ Received message on topic {e.ApplicationMessage.Topic}: {Encoding.UTF8.GetString(e.ApplicationMessage.Payload)}); }); try { await client.ConnectAsync(options, CancellationToken.None); } catch { Console.WriteLine(Connecting to MQTT broker failed.); } Console.ReadLine(); } } 上述代码创建了一个新的 MQTT 客户端并订阅了“test/topic”主题。当收到该主题的消息时会调用 UseApplicationMessageReceivedHandler 方法并在控制台上显示该消息。 UseConnectedHandler 和 UseDisconnectedHandler 方法处理连接和断开连接事件。当客户端连接到 MQTT 代理时会调用 UseConnectedHandler 方法当客户端与 MQTT 代理断开连接时会调用 UseDisconnectedHandler 方法。
结论 在本文中我们讨论了如何使用 MQTTnet 库在 .NET 7 中实现 MQTT 消费者。我们创建了一个控制台应用程序用于订阅主题并从 MQTT 代理接收消息。 MQTT 是一种功能强大的消息传递协议可用于各种应用包括物联网 (IoT) 和 M2M 通信。借助 MQTTnet 库可以轻松地在 .NET 7 中实现 MQTT 客户端并且该库提供了一系列功能。
如果您喜欢此文章请收藏、点赞、评论谢谢祝您快乐每一天。