问题标签 [mqttnet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
115 浏览

angular - ngx-mqtt 多个订阅没有发生

我正在尝试手动连接到 MQTT 服务器,然后订阅多个主题。我可以手动连接,但无法使用相同的 MQTT 服务连接多个主题。
库为 Angular 使用了 ngx-mqtt

问题/问题:- 当尝试连接到第二个主题时,第二个主题将附加到第一个主题。

请参阅下面的图片,该图片不起作用,并且我的 MQTT 服务器正在拒绝我的呼叫,因为 2 个主题附加在第二个主题的一个请求中,这已在下面给出的代码中尝试了多种方式。

在此处输入图像描述

请参阅下面的图片,该图片正在处理另一个旧代码。

在此处输入图像描述

非常差的 ngx-mqtt 文档导致询问 MQTT 问题。

在下面的代码中尝试了几件事是其中的两件事,即

根据文档创建一个 observable 并订阅

添加两个主题后创建一个 Observable 然后订阅它

创建了 2 个不同的 observables

0 投票
0 回答
40 浏览

mqttnet - 如何在 C# mqttnet 中订阅多个主题

var topic3 = new TopicFilterBuilder().WithTopic("test").Build(); Client.SubscribeAsync(topic3).Wait();

0 投票
1 回答
46 浏览

mqtt - 具有用户属性(时间戳)的 LWT:不正常断开连接

MQTT 新手在这里

使用 EMQX 代理的 MqttNet 库在 .NET 上开发:

我正在使用 MQTTv5 功能“用户属性”在发布时向我的消息添加时间戳。这是完美的工作。

但是,我也需要标记 LWT 消息。在我的连接方法中,我可以提供一个包含时间戳用户属性的 LWT。现在,当我使用 MQQTX 桌面客户端订阅我的 LWT 主题时;我收到了这些消息和 LWT;到目前为止,一切都很好。

但是当我终止我的程序进程时(由此,不优雅地断开连接);我立即收到一条 LWT 消息。问题是我的“时间戳”用户属性具有建立连接时的时间戳(以及 LWT 第一次设置)。

我可以在我的连接方法中将值留空,所以空值 = 不优雅的断开连接;但这不是很优雅

是否有可能拦截从代理发送的 LWT 消息并设置时间戳?

编辑:我找到了“规则引擎”,它让我使用代理时间戳。但到目前为止我只能将它添加到有效负载中(最好是用户属性) EMQ 规则引擎测试

0 投票
0 回答
58 浏览

websocket - 如何在 Asp.net Core 中设置 MQTTNET 代理

我开始了解 MQTT,发现存在 .Net 库 MQTTNET。我找不到有关设置启用了 websocket 的代理的文档,因此我请求知道是否有人可以共享文档或示例以开始这将非常有帮助。

拉古

0 投票
1 回答
218 浏览

c# - 如何在 C# 中将 mqtt 与 websocket 连接起来?

我尝试使用 MQTTnet 连接 mqtt。

但似乎不起作用,它会显示错误消息:

无法连接远程服务器,请求被中止:无法创建 SSL/TLS 安全通道。

我还在 Windows 事件中发现了错误消息:

从远程端点收到致命警报。TLS 协议定义的致命警报代码为 40。

我还尝试将我的 mqtt 服务器与第三方应用程序连接起来。

可以连接成功,所以我的mqtt服务器应该没问题。

但是不知道为什么不能用c#连接。

在此处输入图像描述

0 投票
1 回答
112 浏览

asp.net-core - HiveMQ 云的 MQTTnet 连接问题

我是 MQTT 世界的新手,我正在尝试创建一个连接到 HiveMQ 云代理的 .Net 5.0 应用程序。

我创建了一个免费代理,并且可以使用 HiveMQ Websocket Client 连接到它。

这是我的主机的屏幕截图。

在此处输入图像描述

我已经为主机创建了 MQTT 凭据,并且能够通过示例客户端进行连接。这是该客户端的屏幕截图。

在此处输入图像描述

这行得通,我可以发布和订阅消息队列。

但是,现在我正在尝试将其翻译为 c#,但我无法连接。我从这个示例项目开始:https ://github.com/rafiulgits/mqtt-client-dotnet-core

然后从我的集群实例中插入值,但我在启动时遇到连接超时。

这是我的服务配置的样子:

我不确定我哪里出错了,任何帮助将不胜感激。

0 投票
0 回答
74 浏览

kubernetes - 在 kubernetes 上部署 MQTT 代理并从 MQTTnet 发布数据(现在出现授权错误)

我在 Kubernetes 上部署了一个 MQTT 代理。我还创建了一个 .net 核心 API,然后它将作为客户端将消息发布到在 Kubernetes 上运行的 MQTT 代理。该 API 也部署在 Kubernetes 集群上。我正在使用 MQTTnet 库作为客户端代码将消息发布到 MQTT 代理。

但是现在我收到错误Client disconnected, not authorized

下面是我要连接的 MQTTnet 代码:

以下是我对 MQTT 代理的部署:

我尝试了两种方法来添加密码文件,一种是通过配置映射,另一种是使用 mosquitto_passwd 生成密码(第一种是加密的密码,实际密码值也是管理员)。

作为容器运行的 API 100% 命中作为容器运行的 MQTT 代理。因为对于每次命中,都会在 MQTT 代理 pod 中为我的名为MQTTClient-FromAPI的客户端生成日志。下面是这样的日志:

API 中的异常:

请有人在这里指导我。

0 投票
0 回答
45 浏览

c# - 关闭连接消息 MQTTNet C#

我在我的应用程序中使用 MQTTNet 库进行 MQTT 连接。我正在使用 Mosquitto Broker 作为 MQTT 代理。我的应用程序位于 .Net core 3.1 中。

我需要在应用程序连接、正常断开和意外断开时将 MQTT 消息发送到设备。

对于连接的场景,我使用的UseConnectedHandlerIMQTTClient.

对于意外断开连接的情况,我正在使用该WithWillMessage功能。

我现在陷入了优雅的断开连接场景。在UseDisconnectedHandler断开连接之后而不是在断开连接之前调用扩展方法。

Mosquitto broker 提供了关闭消息的功能,类似于断开连接之前的事件。

无论如何,使用 MQTTNet 我可以发送断开连接之前的消息吗?

0 投票
0 回答
47 浏览

c# - MQTTNet Connection.Async() MqttCommunicationTimedOutException

我正在尝试启动一个简单的代码库,以使用本地蚊子代理测试 MQTTNet 的库实现其订阅者和发布者代码,随后通过 HiveMQ 的 WebSocket。

目前,这些代码位于本教程的 C# 控制台应用程序中,https ://www.youtube.com/watch?v=lcsnsj1yBs0&ab_channel=RishabhSharma :

发布者代码

订户代码

尝试await mqttClient.ConnectAsync(mqttClientOptions);使用以下堆栈跟踪执行时引发异常: