问题标签 [hivemq]

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 投票
1 回答
380 浏览

debian - Paho-mqtt.client 可以连接到 digital-ocean mqtt 服务器但不能订阅

请帮我解决一下这个。我在这上面花了两天时间,但没有成功。

我正在使用 Paho-Mqtt python 客户端示例。我的 digitalocean debian 服务器上也有 HiveMq mqtt 服务器。如果我在笔记本电脑或 linux Debian 机器上运行,python 中的客户端示例代码可以连接并订阅 digitalocean 服务器。但。这是但是。当我在 digitalocean 服务器(hivemq mqtt 服务器所在的位置)上运行客户端时,它只能连接而不能订阅!我同时使用了 localhost 和服务器 IP,但仍然没有运气。

然而,在 digitalocean 服务器(以及 hivemq mqtt 服务器)上运行的相同客户端代码可以成功连接和订阅外部服务器,例如 m2m.eclipse.org。

我怎么知道它不是订阅而是连接?好吧,它在连接回调时返回 RC:0,但在订阅回调时不返回任何内容。(它应该返回“订阅:1”等)

结论:当 Clinet 与服务器在同一台机器上运行时,它可以连接但不能订阅。

0 投票
1 回答
382 浏览

amazon-web-services - HiveMQ 集群如何在 AWS 上工作?

对于 AWS,S3 存储桶用于自动发现。此外,根据文档,“如果集群节点对消息感兴趣,消息只会转发到其他集群节点”。但是,对于某个主题的集群内节点之间的消息转发,我有点困惑

  1. S3 上存储了哪些信息?
  2. 转发节点如何知道该主题的感兴趣节点。似乎维护了一些关于 topic-vs-nodes 的映射。这个映射是如何维护的?
  3. 由于 AWS 不支持 UDP 多播。那么,在 Auto Discovery 和 MQTT 消息转发的情况下使用哪种底层传输协议?

确实,如果有人能回答这个问题,那将是一个很大的帮助。基于这些输入,我将能够进一步进行。

0 投票
3 回答
5195 浏览

mqtt - 为什么以及何时我需要用于 IOT/M2M 应用程序的 mqtt 代理

只是问了一个愚蠢的问题,希望有人能回答这个问题。

我对 MQTT 代理有点困惑。基本上,令人困惑的是,有很多东西用于数据存储、传输和处理(如 Flume、HDInsight、Spark 等)。那么,何时以及为什么需要使用一个 MQTT 代理?

如果我想将 Windows 10 IoT 应用程序与 HiveMQ 一起使用,我可以从哪里获得详细信息?如何使用它?我如何从这个 MQTT 代理中获益?我不能直接使用 Azure 或 HDFS 从我的 IoT 应用程序发送数据吗?那么,MQTT 代理如何融入其中或帮助我实现某些目标?

我对所有这些都是新手,并试图找到一些教程,但是,我没有得到任何合适的东西。请更详细地解释它或为此提供一些教程?

0 投票
1 回答
656 浏览

amazon-ec2 - 无法连接到 aws ec2 实例中的 moquette

我是 MQTT 新手,一直在尝试在 AWS EC2 上实现 MQTT MOquette,我尝试在我的机器上配置和安装代理,并且能够从客户端连接和测试它,但是当我从 Aws EC2 实例执行相同操作时我可以看到端口 1883、8080 正在监听 0.0.0.0 ip 地址,但是当我从客户端连接时,我无法连接。

在本地机器上配置主机时,我为主机和端口 1883、8080 提供了 0.0.0.0,在 AWS 服务器上,我为主机和端口提供了私有 IP,端口为 1883、8080。我在安全组中添加了规则以允许 1883 和 8080 上的 tcp .

我的问题是我应该在 AWS 上使用的主机值,例如私有 ip 或 aws url,例如“ec2-XX-XX-XXX-XX.us-west-2.compute.amazonaws.com”,以及 url从中我可以从客户端访问代理,例如“tcp://ec2-XX-XX-XXX-XX.us-west-2.compute.amazonaws.com”或 IP

我会在这里做错什么?卡在这个问题上

谢谢大家

0 投票
1 回答
1028 浏览

python - 带有 HiveMQ 的 Paho Python 客户端

我正在用 python 开发一个模块,它允许我将我的树莓派连接到我的电脑上托管的 hivemq 版本。

它连接正常,但是当我添加 hivemq 的文件身份验证插件时,它似乎不起作用

我使用 username_pw_set 设置我的用户名和密码

这是我的代码目前的样子:

这可能与python客户端格式化连接请求的方式有关吗?

编辑:

服务器给我错误信息:

我的客户端(on_connect 函数)输出一条带有代码 5 的 connack 消息,该消息用于拒绝连接,因为它未经授权。

0 投票
0 回答
3602 浏览

python - Paho Python MQTT 客户端

上周我问了这个问题,但觉得我没有提供足够的信息并完全解释我在做什么。所以我正在打开一个新的、有更好记录的问题,希望它更容易理解。

我正在开发一个 python 模块/库,它将允许使用 hivemq 网站 (www.hivemq.com/plugins) 上的文件身份验证插件的自定义版本连接到 hivemq 代理。此插件使用 http 身份验证而不是文件身份验证。

此 python 模块用于将 raspberry-pi2 连接到 hivemq 代理,但我遇到了身份验证问题。pi 将在没有插件的情况下连接。从 on_log 和 on_message 函数显示这些消息:

但是,只要我将身份验证插件添加到代理,它就会给我以下消息:

据我了解,结果代码 5 表示由于未经授权而被拒绝。

我也从经纪人那里得到这条消息:

我在上一个问题中被告知这是由于代理没有找到 http 服务器。但是我只有在树莓派连接时才会收到此消息,所以我不明白为什么它可以找到其他设备而不是 pi。

我的模块代码如下:

我认为问题在于 paho 客户端如何格式化对代理的请求。我真的想不出还有什么可能。我有 arduinos 连接到它,mqtt.fx 客户端连接,唯一的问题是树莓派。

很抱歉这个冗长的问题,并提前感谢您的帮助。

编辑:添加了带有数据包详细信息的 tcpdump

0 投票
1 回答
216 浏览

hivemq - Hivemq 加载默认配置,configuration.properties 问题

我是 hivemq 的新手。在 hivemq conf 文件夹中有 config.xml 但在文档中有各种文件,如 configuration.properties 或 application.properties。这些不在文件夹中。

当我尝试创建它时,hivemq 给出了找不到配置的错误。如果我不想使用 XML,我可以通过 configuration.properties 文件对其进行配置吗?那么通过configuration.properties文件进行配置的正确方法是什么?

0 投票
0 回答
70 浏览

spring - 在 HiveMQ 插件中加载 Spring 应用程序上下文

我正在尝试在 HiveMQ 插件中加载 Spring Application Context (xml)。我似乎无法加载上下文,因为它找不到 xml 配置。spring-context.xml位于“src\main\resources”中,我尝试使用以下方法加载上下文:

我得到的错误如下:

java.io.FileNotFoundException: class path resource [spring-context.xml] cannot be opened because it does not exist

0 投票
0 回答
127 浏览

java - 在 Java 应用程序中集成 Spring (Rabbit)?

我正在尝试将 Spring 集成到 HiveMQ(MQTT 代理)插件中。我已经设法加载了spring-context,并且实际上扫描了bean并且可以使用@Inject而不是@Autowire进行自动装配。

当我尝试在这个插件中使用 Spring-Rabbit 时,Spring 框架抱怨它无法正确处理我的 spring-context.xml 中的 xml。

原因:org.xml.sax.SAXParseException:cvc-complex-type.2.4.c:匹配通配符是严格的,但找不到元素“rabbit:connection-factory”的声明。

弹簧上下文如下:

我按如下方式加载上下文:

当我在没有 HiveMQ 插件上下文的情况下正常启动应用程序时,它可以找到所需的一切。

任何提示在哪里寻找?

0 投票
1 回答
155 浏览

mqtt - hivemq 是如何限制用户订阅量的?

我已阅读 hivemq 插件开发文档,但找不到任何解决方案。

我想限制用户的订阅数。有什么帮助吗?