问题标签 [emq]

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 回答
105 浏览

spring - emq 和 Spring AMQP

我是 Spring AMQP 和 MQTT 世界的新手。我有一个遗留应用程序,它使用 Rabbitmq 作为 mqtt 消息的代理。有计划使用 emqtt 作为代理,我想知道我现有的使用 Spring AMQP 编写的侦听器(关于 mqtt 主题)是否可以与 emqtt 一起使用?我只是想节省使用 MqttClient 重写所有这些侦听器的工作。

提前致谢。

0 投票
2 回答
6827 浏览

java - 如何将带有用户名和密码的 Java mqtt 客户端连接到 emqttd(EMQ) 代理?

我可以使用此 Java 代码订阅 mosquitto 代理,无需用户名和密码。现在,我想订阅一个需要一些虚拟用户名和密码的 emqttd 代理。我怎样才能做到这一点?。谢谢。

http://tgrall.github.io/blog/2017/01/02/getting-started-with-mqtt/#disqus_thread

https://github.com/emqtt/emqttd

0 投票
2 回答
545 浏览

emq - 在 emqtt 中启动节点并创建集群

我是 emqtt 和 erlang 的新手。使用 emqtt.io 中提供的文档,我在我的机器中配置了 emqtt,并想创建一个集群。我按照下面给出的步骤创建了一个节点

为了连接这些节点,我使用了以下命令。

执行此命令后,我没有得到任何响应(真或假)。

我也尝试了以下命令

但收到失败消息

当我点击 URL localhost:8080/status 我收到以下消息

但我无法获得有关集群的任何详细信息。

我是否遵循正确的步骤?在 emqtt 中创建集群需要帮助。

提前致谢!!

0 投票
1 回答
319 浏览

mqtt - 意外的 HTTP 请求:POST /mqtt/auth

我是 emqtt 的新手。我正在尝试使用 emq_auth_http 但它不起作用。

我有这 3 个请求来控制一些数据并将状态为 200 的数据发回。

请求在邮递员上运行良好。

我已经用 docker 在 windows 上配置了我的 emqtt。我已将配置文件放在 /etc/plugins/emq_auth_http.conf 中。

这是我的配置文件

然后我从仪表板启用了 emq_auth_http

现在,当我尝试将我的 mqtt 客户端连接到我的服务器时,它没有调用 api。它记录

有什么我错过的吗?为什么它不工作?

谢谢

0 投票
1 回答
219 浏览

chat - 在 MQTT 中每个用户拥有一个频道是个好主意吗?

我正在为一家公司开发一个聊天系统,并使用了很多可用的工具。我最有趣的旅程之一是通过Pheonix 框架(Elixer 语言!唷)

我最终使用基于 MQTT 的服务器来管理聊天。我曾将 MQTT 用于我为 IoT 项目所做的一些基于设备的通信。为我的代理使用了EMQ 服务器,并为 FE 和 BE 使用了这个 js 库。设置它是小菜一碟。

现在,当我添加更多功能时,我有几个问题。我应该如何扩展我的频道/消息比率。多少订阅是太多订阅?

我将有权访问使用情况,因此将有数据作为这些基础。任何关于这些的文字将不胜感激。

添加一些关于应用程序的事实。聊天用于进行会议的应用程序中。以下是相同的一些粗略数据。

0 投票
0 回答
971 浏览

linux - 通过连接 100,000 个客户端来测试 MQTT 代理

我研究 MQTT 协议已经有一段时间了。该协议将被组织用于分别向每个客户端发送确认消息。

在用例中,只有 1 个“发布者”客户端向订阅其独特主题的“订阅者”客户端发布确认消息

为了确保代理基本上没有错误并且将来可以轻松扩展,我一直在尝试通过尝试将至少 50,000 个客户端连接到它们来测试 Emqx 和 Vernemq 开源代理。

但是,我无法创建那么多连接。我在 Google Cloud 上的 Ubuntu 18.04 实例(8 核 CPU,15 GB RAM)在大约 300-400 之后无法建立任何更成功的连接。

我尝试进行以下更改: ulimit -n 64500 (用于允许这么多文件描述符,因为每个套接字连接都需要一个文件描述符)

请帮助我建立超过 50,000 个连接。我应该运行“n”个线程并在每个线程的循环下运行 total_clients/total_threads 客户端吗?

还是应该为每个客户端连接创建一个线程?

我应该怎么办?

一旦客户端开始断开连接,即使客户端没有发送断开数据包,以下消息也会出现在“$SYS/#”主题上。$SYS/brokers/emqx@127.0.0.1/clients/112/disconnected {"clientid":"112","username":"undefined","re​​ason":"close","ts":1536587647}

0 投票
1 回答
436 浏览

mysql - EMQTT - emq_plugin_template POST to API (SQL) 问题仅适用于网关客户端

我已经按照 Ravi Pujar 的教程使用 EMQ 和 api 接口将 MQTT 消息传递给 SQL(他也从这里得到了一些帮助以使相关插件工作)。

我是 Erlang + EMQ 的新手,任何帮助解决为什么只有我的网关消息在从 EMQ 插件发布时没有保存的原因:</p>

  • 当我通过 HTTP API 与邮递员一起发布时,日志被很好地保存到 SQL 中。

  • 当我连接到代理并使用 MQTTfx 发布到主题时,它也会很好地保存到 SQL 中(通过插件)。

  • 当我的网关发布到主题时,发布的消息不会登录到 SQL(再次通过插件),而是在主题上正常发布。

SQL 表只有一个允许为空的字符串字段。网关消息示例(如果从邮递员发布到 api 或从 MQTTfx 在主题上发布,则保存良好):$GPRP,745HHBCC5FF,EC16CRH9FFC,-54,0201135644GG46E0082D8A80EFD6EAD1E9A1B132BE1,153656726

我正在使用“emq_plugin_template.erl”和“on_message_publish”来发送我的请求。插件编译无误,EMQ重启,板子启用插件,运行流畅。当然,我也订阅了网关上的正确主题。

检查 QOS:我已确认 QOS(QOS 0 消息)主题订阅是正确的,我应该在其他地方检查不匹配吗?来自 MQTTfx 的相同 QOS 很好地保存到 SQL 中,并在主题上发布。

在收到的消息中删除逗号:我只是为了以防万一尝试从消息中删除逗号(以及以下尝试之一中的 $ ,进行了更多尝试,但编译得很好,但代理可能会卡住):

感谢您的时间 :)

0 投票
0 回答
159 浏览

mqtt - 启用 emq_web_hook 插件后 EMQ 无法连接客户端

我正在通过 docker image 运行我的 emqtt 代理。

我正在尝试捕获在我的代理上发布的所有消息以及所有已确认的消息。为此,我尝试使用 emq_web_hook 插件,但是当我从仪表板启用此插件时,客户端断开连接,然后无法再次连接到代理。我用默认配置尝试了这个,比如

我还更改了 url 并提供了我的节点服务器的 url,但它也不起作用。我的端点从未被调用。

我的仪表板正在工作,但我无法发布。

我做错了什么或者我错过了什么步骤?

我怎样才能捕捉到所有这些事件?

我很困惑。文档不够清楚。

谢谢

0 投票
1 回答
567 浏览

mqtt - 使用 NodeJS 在 mosquitto MQTT 和 EMQX 之间搭建桥梁

我已经在 2 个不同的应用程序中使用 NodeJs 设置了 mosquitto 和使用 NodeJs 的 EMQX。我想在我的两个 MQTT 客户端之间创建一个桥梁,并从两端发送和接收值。

尝试在我的 MQTT npm 包中使用 WebSocket 选项创建桥接器。

我的 EMQ 与 NodeJs 的连接。

0 投票
1 回答
114 浏览

javascript - 是否可以在 2 个不同的 MQTT 代理之间发送文件?

我正在使用 2 个不同的 MQTT 代理(Mosquitto 和 EMQX)。我可以使用命令提示符在我的 mosquitto 到 EMQX 和 EMQX 到 mosquitto 之间发送消息。我想知道是否可以在两者之间发送文件(png、pdf、xlsx、doc)。

如果是,如何?