问题标签 [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 回答
451 浏览

ssl - HiveMQ 中的 Websockets 不工作 - 日志中没有任何内容

问题解决:检查帖子底部

我无法连接到 websocket。端口 1883 工作正常。这是 MQTT.fx 的输出:

我对服务器和端口进行了 Telnet 测试,得到一个空白终端。我想这意味着有一个连接,因为否则我会有一个“连接失败”。消息日志插件不显示任何内容,日志文件中也没有任何内容。

它的 Debian 和 HiveMQ 3.2.2。

编辑

好的,这是一个 Nginx 问题,因为没有 SSL,我的 JavaScript 站点可以正常工作。正如我在这里看到的那样,应该可以对 http 使用 SSL 而对 websockets 使用不安全:

Nginx MQTT websocket 代理 1

Nginx MQTT websocket 代理 2

我尝试了那里的配置,但没有运气。

解决方案: HiveMQ 不需要 Nginx 代理。问题是 Firefox 不接受 websockets 的自签名证书。将“network.websocket.allowInsecureFromHTTPS”设置为 true 将使其工作。在 Chrome 中,您会收到有关 JavaScript 安全性的消息,您可以接受它。因为我只使用 Firefox 并且没有消息,所以花了几个小时才发现出了什么问题。paho onFailure 功能也没有出现。

0 投票
1 回答
1462 浏览

java - MQTT与android上的paho,只接收第一条消息

我正在使用带有 paho 的 MQTT 在 android 上接收和发布消息。

我的 MQTT 初始化有以下代码。

我只是想把收到的信息拿回其他地方作为测试。

现在发生的事情是我第一次在 testtopic/receive 主题上发布。我似乎没有发布任何内容。如果我尝试向 testtopic/receive 发送另一条消息,它永远不会在我的 android 上收到。

有人知道我目前缺少什么吗?

谢谢!

0 投票
1 回答
458 浏览

hivemq - 具有持久会话的 HiveMQ 共享订阅

尝试结合 HiveMQ 的两个特性:共享订阅和持久会话。

如果创建了一个非常简单的消息生产者。和一个非常简单的消费者。当运行多个消费者时,所有消费者都会收到所有消息。

将消费者的 clearSession 设置为“false”后,在运行消费者时,重新启动消费者,消费者在未连接时也会收到消息。出色的。

现在将它与共享订阅功能结合起来。仅使用共享订阅时,clearSession 为“true”。运行多个消费者时,一条消息仅由单个消费者接收。它应该是循环的,情况也是如此,但是一旦您停止消费者,消息就不再是循环的,而是其中一个消费者获得的消息比其他消费者多得多。

如果我现在再次启用持久会话,clearSession 为“假”,并启动共享订阅消费者,消费者开始再次接收所有消息,而不是消息仅传递给一个客户端。

这里有什么问题?这是 HiveMQ 中的错误吗?持久会话和共享订阅不能一起使用吗?那真的会很糟糕。

更新 15/2/2017 正如@fraschbi 建议的那样,我清除了所有数据并再次使用持久会话消费者重新测试了共享订阅。它似乎工作!

但奇怪的是,只有在第一个消费者重新连接后才会收到丢失的消息。所有消费者都有相同的代码,他们只是从不同的 clientId 参数开始。请参阅下面的代码。我的测试顺序:

  • 开始消费者1:所有消息都发给这个消费者。
  • 开始的消费者2:每个消费者都会收到其他消息。
  • 开始的消费者 3:每个消费者收到 3 条消息中的 1 条。
  • 停止消费者 1:现在消费者 2 和 3 接收到其他所有消息。(不知道为什么我昨天看到了这种不均匀的分布,但可能正如@fraschbi 提到的那样,因为我正在重用 clientId 并且没有取消订阅或正确断开连接)
  • 现在停止消费者2:消费者3现在收到的所有消息。
  • 停止 consumer3:不再收到任何消息。
  • 重新启动 consumer3:它继续生产者发送的第一条消息。它不接收丢失的消息
  • 重启consumer2:消息再次均匀分布。
  • 重新启动 consumer1:这个现在接收所有丢失的消息,然后继续接收每 3 条消息中的 1 条。

所以我的新问题是:为什么只有第一个消费者收到丢失的消息?

注意:这里的技巧仍然是停止客户端时不要取消订阅,因为这样订阅/持久性设置就会丢失!

生产者.scala

消费者.scala

0 投票
1 回答
1391 浏览

mqtt - ESP8266 未连接到 MQTT 代理 hivemq

我有一个简单的代码,我在其中尝试连接到 HiveMQ 开放代理并订阅一个主题以收听传入的消息。

这是代码

WiFi 连接工作正常,但通过代理进行的通信无法正常工作,并且总是显示“无法连接到 MQTT 服务器”消息。如何使 esp8266 与 HiveMQ 代理一起工作。borker 的仪表板是 http://www.mqtt-dashboard.com/

0 投票
1 回答
141 浏览

mqtt - Hivemq 在一段时间后关闭

我在我的 Ubuntu 16.04 服务器上安装了 HiveMQ(将 zip 文件放到我的服务器中并解压缩),然后我通过终端(使用 SSH 连接)启动它,我连接了一个客户端,一切都很好。然后我关闭了终端,看看我是否可以再次连接,我可以,我也可以在 2 小时后连接,但突然我不能。

是否有任何命令可用于使其始终打开?

提前致谢

0 投票
1 回答
361 浏览

javascript - MQTT PUBACK 网络套接字

我正在努力HiveMQ Websocket Client,我正面临着message delivery. 所以,我遇到了这个词PUBACK

让我解释一下我的理解,然后我会问我的问题。

每当我们使用 发送消息时,hivemq 服务器都会通过回调QOS1确认发送者。PUBACK

现在,我打算在我的 websockets 中订阅 onPubackReceived 事件,但是在发送消息后该事件没有触发。

我的代码:

当连接丢失并且消息到达时,onConnectionLost和都正确触发,但没有触发。onMessageArrivedonPubackReceived

如果我理解正确或者我做错了什么,请告诉我?

0 投票
1 回答
581 浏览

java - 如何在本地运行代理“HiveMQ”并将 android 应用程序连接到它

我按照教程从此处下载的 paho 图形用户界面向 hiveMQ(通过执行我从他们的网站下载的 run.bat 文件运行)发送消息,它工作正常并显示客户端连接的日志并发送工作正常的消息,现在我已经制作了可以将消息发布到公共代理的 android 客户端应用程序,这也很好我成功地将消息发布到他们的公共代理(tcp://broker.hivemq.com:1883)

我想在我的计算机上使用 hiveMQ 作为代理,以便我可以将消息从我的应用程序发送到本地运行的代理并查看我从应用程序发送的消息,我该怎么做?

谢谢

0 投票
1 回答
467 浏览

linux - HiveMQ systemctl 服务未监听端口

我正在尝试使用本指南在我的 Amazon EC2 实例 (ubuntu/images/hvm-ssd/ubuntu-xenial-16.04-amd64-server-20170414) 上设置 HiveMQ:http ://www.hivemq.com/docs/hivemq /latest/#hivemqdocs_installation_for_specific_operating_systems

安装后,我可以使用以下命令成功运行 HiveMQ:

  1. 将目录更改为 HiveMQ 目录cd /opt/hivemq

  2. 执行启动脚本./bin/run.sh

HiveMQ 将开始运行,并监听 1883 端口,我可以连接和订阅代理。

当我将 HiveMQ 作为 systemctl 服务运行时:

  1. 对于使用 systemd 的 Debian、Ubuntu、Raspbian 等基于 Debian 的 linuxsystemctl enable hivemq

它作为服务启动,没有任何问题

但是,运行时netstat -an|grep 1883它不显示任何活动。HiveMQ 似乎没有监听任何端口,我无法连接到我的 MQTT 客户端。可能是什么问题?

0 投票
1 回答
7076 浏览

android - how to add Paho-MQTT to android studio

I am trying to use Paho-MQTT in android studio. I referred to this link and I should add the following to gradle files

the link demands adding the following:

#xA;

the text did not specify which gradle file I use use "gradle-proj or gradle-app", so I tried both and in either cases i received errors such as

#xA;

please let me know which gradle file i should use "proj or app"? and how to add the previous code correctly to gradle?

build.gradle app:

#xA;

build.gradle project:

#xA;

current error

enter image description here

0 投票
2 回答
304 浏览

amazon-web-services - AWS IOT:该平台是否充当 MQTT 代理?

我只需要确定是否需要使用单独的库/提供程序(例如 Mosquitto 和 HiveMQ)并将它们与 AWS IOT 集成,或者亚马逊平台是否会充当自给自足的端到端解决方案。

TIA