问题标签 [mosquitto]

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 投票
2 回答
4568 浏览

.net - 如何将.NET代码连接到节点红色平台

我有一个 .net 代码,它正在寻找一个阈值来发送消息。我希望这能点亮一个 ledborg。我正在使用 node-red 平台和 mosquitto-message 代理连接到树莓派上的 ledborg。但仍然对如何将消息从.net 放到 nodered 平台感到困惑。有没有我们可以使用的消息代理之类的?我是这个地区的新手。

0 投票
1 回答
12771 浏览

mqtt - 两个蚊子经纪人之间的桥梁

我想在我的 Raspberry Pi 上运行的 mosquitto 代理和我的 PC 上的 mosquitto 代理之间建立一座桥梁。

在 mosquitto.conf 文件(在 Raspberry Pi 上)中,我将网桥设置设置为:

连接似乎很好,但是当我尝试在本地主题上发布时,我在订阅的客户端中看不到远程/主题的消息。

例子:

我究竟做错了什么 ?

0 投票
1 回答
7801 浏览

security - 如何通过 websocket 保护 MQTT

当通过 websockets 将 MQTT 代理显示到浏览器时,我想了解保护 Mosquitto 的最佳方法。根据这篇博客文章,我目前正在将 Lighttpd 用于 websocket 层。

我的用例是单向的。我只需要向浏览器发送消息。因此,我可以使用 ACL 来防止不法分子发布消息。

但是我怎样才能阻止不法分子订阅,或者更好的是,首先建立联系?

我知道我可以使用 ID/pw 进行 MQTT 连接。所以,我猜我的应用服务器可以在用户进行身份验证后将凭据发送到浏览器,然后 Javascript 客户端可以使用这些凭据建立 MQTT/WS 连接。但是,如果我有成千上万的客户,我该如何管理 ID 和密码?还是我应该只拥有一些 ID 并定期回收它们?我应该根据mosquitto-auth-plug将此位交给 Redis 或类似的吗?

我想知道是否有更好的方法,通过保护网络服务器层内的连接。Lighttpd的mod_secdownload插件似乎提供了一个模型,通过该模型,可以根据共享机密(保留在服务器端)和时间戳的哈希值动态生成 URL。用户通过身份验证后,应用服务器将向下传递此 URL,然后客户端将使用它建立与 MQTT 代理的连接。一段时间后,URL 将过期,Javascript 客户端可以捕获此异常,如果用户仍然通过身份验证,则可以请求新的 WS 连接 URL。这与许多 API 身份验证类似。这里有优点吗?

有没有更好的方法?

谢谢,J。

0 投票
2 回答
6614 浏览

c++ - mosquittopp:向代理发布消息

我在 linux 下为 mosquitto 使用 cpp 包装器。
初始化后:

如何发布我的自定义消息?

我以这种方式使用包装器定义的发布方法:

所以我可以这样调用:

但是..我可以在哪里指定真正的“信息”?

0 投票
8 回答
48483 浏览

linux - mosquitto-client 获得拒绝连接

我想通过 mosquitto 库使用 MQTT 协议。

首先,我想做一些安装 mosquitto-clients 的测试

该程序提供了两种“方法”:

  • mosquitto_pub
  • mosquitto_sub

按照说明,我正在尝试提交新主题:

使用默认主机/端口 [localhost/1883]。

我得到:

错误太笼统了..有人可以帮助我吗?
可能是防火墙问题?在这种情况下,我如何检查这是否是问题所在?

我正在使用 linux ubuntu ( 3.8.0-42-generic #62~precise1-Ubuntu)

nb使用 libmosquitto 编写自定义程序的相同行为。

0 投票
1 回答
773 浏览

c - 构建期间的警告消息 --> 警告:“bool”重新定义

我正在使用 Code::Blocks 将 Python(包含 Mosquitto MQTT)脚本重写为 C。作为测试,我使用了 Mosquitto 存储库中可用的以下代码:

https://bitbucket.org/oojah/mosquitto/src/4deedcb49ff50be94166701f21e5c79ff7667d5b/test/lib/c/02-subscribe-qos0.c?at=default

但是,这会导致以下警告:

我一直在深入研究这个主题,我认为可以使用包含警卫来解决它。我做了一些测试,但显然我不知道如何正确应用它们。

由于我不是经验丰富的 C 程序员,我决定寻求帮助。

编辑:我添加了mosquitto.h 代码的链接。

这是可能出错的部分:

是否有快速修复使其工作?

0 投票
1 回答
895 浏览

push-notification - 运行 MQTT 服务器的建议

我想在我的服务器上运行 Mosquitto MQTT 代理。例如,我希望连接 1000 万用户/客户端。我想先了解几件事:

  1. Mosquitto 可以处理 1000 万个活动连接吗?
  2. 如果我想为每个客户提供 8 个主题和类别,经纪人可以处理 8000 万个主题吗?!
  3. 如果 10 万个客户端同时发布一条消息,会发生什么?经纪人可以处理吗?
  4. 如果以上所有的答案都是肯定的,那么需要什么硬件规格才能在 Windows Server 2008 R2 下正常运行?(CPU,RAM,HDD,...)
  5. 有没有比 Mosquitto 更好的代理?(性能方面,支持用户/通行证,支持 ssl/tls)
  6. 如果根本不可能,那么像 Whatsapp/Viber/Wechat/others 这样的大公司/应用程序如何为他们的应用程序处理推送通知?
0 投票
1 回答
1045 浏览

c# - 带有 HiveMQ 的 M2Mqtt 库

所以我在我的本地机器上运行了一个 hivemq 服务器,我正试图将它连接到我可以使用 c# 中的 M2Mqtt 库通过 TLS 连接到服务器的位置。我按照本指南为 c# 创建证书。

http://www.embedded101.com/Blogs/PaoloPatierno/tabid/106/entryid/366/MQTT-over-SSL-TLS-with-the-M2Mqtt-library-and-the-Mosquitto-broker.aspx

然后我按照本指南将证书转换为 hivemq 的 jks 密钥库。 http://blog.jgc.org/2011/06/importing-existing-ssl-keycertificate.html

我验证了证书和代码可以像第一个指南一样使用蚊子。我假设它是如何制作 jks 密钥库的,但如果有人对此有任何信息,请告诉我。

0 投票
1 回答
2349 浏览

c++ - 如何在 C++ 中使用 Mosquitto 发布文件?

我正在使用 mosquitto c++ 包装器发布消息/文件。

在我的测试中,我可以轻松地发送包含文本的消息,但是如何发送文件?

我的发布者方法是:

我发现这篇文章解释了如何使用 python 发布文件。
在 c++ 中几乎一样吗?
如果是这样,我如何区分订阅服务器上的文件和纯文本?

0 投票
1 回答
1434 浏览

node.js - node.js mqtt 从回调发布到 mosquitto 代理

我不确定使用 node.js 时回调是如何“排队”的,这会导致担忧。

我有一个从节点 mqtt 客户端接收消息的 tcp 服务器。当消息到达 mqtt 客户端的 onMessage 回调时,会调用一个方法将其发送到任何已连接的 TCP 客户端。服务器每秒处理(峰值)大约 150 条消息,每条消息 50 - 300 字节。

偶尔会有“神秘”锁定。服务器正在运行,但没有消息传递给客户端。

我突然想到,在 tcp 服务器完成使用“最后一个”消息为客户端提供服务之前,可能有一个“新”消息到达,我不确定这是否会混淆事情。我希望处理“较旧”消息处理程序的函数可能会被推送到堆栈上,以支持后来的到达 - 在所有新消息都得到服务后继续。

目前我没有使用任何互斥锁或其他设备来防止对传递消息的函数的重叠调用。所以我的问题是,我应该信任节点和 mqtt 客户端来处理可能重叠到达的这种级别的消息传递,还是我需要构建某种节流、排队或互斥机制?如果是这样,kue 模块会是一个合乎逻辑的方式吗?