问题标签 [libmosquitto]

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

c++ - 在 Qt 应用程序中包含外部库

我在 Linux 下的 Qt-Widget-Application 中成功使用了 mosquitto 库。我想对 Windows 7 MSVC2015 x64 做同样的事情,但我遇到了我不明白的链接器错误。

在我的 .pro 文件中使用这个片段,其中 C:\mosquitto 是下载和预编译的库 (.dll) 的路径。文件夹 devel 包含标题和 .lib 文件。

INCLUDEPATH += C:/mosquitto/devel DEPENDPATH += C:/mosquitto/devel LIBS += -LC:/mosquitto/devel -LC:/mosquitto -lmosquitto -lmosquittopp

我收到 14 个未解析符号的链接器错误,就好像根本没有库一样。我可以删除“LIBS”行,不会得到更多未解析的符号。如果我在 LIBS 变量中拼错了某些路径或名称,我会收到找不到 mosquitto.lib 的错误 - 所以路径通常是正确的。

一个提示可能是来自链接器的警告:library machine type 'X86' conflicts with target machine type 'x64'. 所以我在 x64 中手动编译了库源。之后,同样出现的只有一个未解析的符号。为什么?

我不明白。在 Linux 下,这相对容易。我遇到 32/64 位问题了吗?还是我错过了其他一些依赖项?

更新: -希望正确编译-x64-version 的未解析符号是public: virtual void __cdecl mosqpp::mosquittopp::on_message(struct mosqpp::mosquitto_message const *). 目前我只打开并发布到 MQTT-Connection:我没有明确使用 on_message(...) 。

0 投票
1 回答
893 浏览

c - Mosquitto 发布者不发布任何消息

我一直在尝试使用 mosquitto lib 开发 C 代码,以通过 TLS 在 mosquitto 代理上发布消息。我在 mosquitto 端配置了 TLS,它运行良好。我能够使用 mosquitto_pub 和 mosquitto_sub 发送和接收消息。

但是,当我尝试使用我的 C 代码发布消息时,它不起作用。显然,代码连接正常并发送消息,没有错误但订阅者没有读取任何内容。

以下是我正在使用的发布者代码:

订阅者是:

怎么了?

谢谢,毛罗

0 投票
2 回答
334 浏览

mqtt - 蚊子只为每个主题开火

我在我的网络上使用 mosquitto 实现了一个 MQTT 消息代理。我有一个 Web 应用程序向代理发布内容,还有多个订阅同一主题的服务器。所以我有一个冗余方案。

我的问题是,单独使用 mosquitto,有没有办法将其配置为仅在第一个订阅者上发布数据?否则,他们都会做同样的事情。

0 投票
1 回答
670 浏览

mosquitto - 构建 Mosquitto MQTT 身份验证插件问题

我需要 Mosquitto 的高级身份验证。我决定使用mosquitto-auth-plug

但是,如果我按照构建说明进行操作,则会出现错误:

有点-lmosquitto找不到。我假设这是一个图书馆,但所有图书馆都存在:

什么是-lmosquitto以及如何修复我的构建?

0 投票
1 回答
308 浏览

mosquitto - 通过应用程序从 MQTT 代理获取数据,这些数据由 MQTT 客户端发布者发布

我在嵌入式 Linux 设备中使用 Mosquitto MQTT 代理。当前拓扑如下:

MQTT 客户端(发布者)--------MQTT 代理--------MQTT 客户端(订阅者)

要从客户端发布的 MQTT 代理获取数据,我应该在我的嵌入式 Linux 设备中创建 MQTT 客户端(订阅者)吗?

有什么方法可以在 c 或 c++ 中创建一个简单的应用程序来从 MQTT 代理获取数据,这些数据是由客户端(发布者)发布的,以便 CPU 时间和内存比创建 MQTT 客户端(子)?请让我知道如何。谢谢你。//道姆

0 投票
1 回答
502 浏览

c - How to publish data synchronously using mosquitto_publish?

I have written code (mosquitto_publish()) using Mosquitto to publish data to AWS.

My problem is the sequence with which data is arriving on the MQTT broker. In the Paho client, I see waitForCompletion(), but nothing similar in Mosquitto. Would anyone please help me in dealing with this problem ?

0 投票
1 回答
1745 浏览

c++ - 如何在 C++ 中使用 libmosquitto 和 SSL/TLS 连接到 mqtt 代理

我正在尝试订阅使用 SSL/TLS 对客户端进行身份验证的 mqtt 代理。我使用libmosquitto来做到这一点。

我运行此代码来执行订阅

但输出每次都是一样的:

使用外部工具(例如mqttfx)并使用相同的身份验证凭据,订阅很好,我可以接收在主题上发布的消息。

如何正确执行订阅?是否缺少一些设置?

0 投票
0 回答
114 浏览

mosquitto - MosquittoClient 的订阅者在间隔时间段内不显示单个订阅的消息

我正在使用 Mosquitto/Client php 库。我已经在经纪人和客户之间建立了正确的连接。当我执行发布者和订阅者时,订阅者会显示许多消息,但我想在发布者发布消息时获得一条已发布的消息。我将如何通过订阅已发布的消息获得单条消息?

订阅者.php

发布者.php

我想在特定的时间间隔内发布/订阅。Publisher.php 在间隔时间段内发布带有消息的主题,subscriber.php 在间隔时间段内获取带有该消息的主题。

0 投票
0 回答
393 浏览

c++ - 为什么在蚊子客户端接收消息时调用 on_subscribe 而不是 on_message?

我正在尝试设置一个 mosquitto 客户端来收集和记录来自我的 iot 设备的 mqtt 消息,该设备不断发送它的 gps 数据。

我正在使用eclipse mosquitto 和 cpp 包装器来完成这项任务。

我确信我的设备将数据传递给代理,因为在服务器上的mosquitto_sub -t mqtt_test --cafile ca.crt --client.crt --key client.key -p 8883 -q1命令返回与我发送的完全相同的数据。在设备上我得到这些日志:

这是我的服务器客户端代码

主.cpp:

mqtt_client.cpp:

mqtt_client.h:

tls_set、connect 和 subscribe 返回 0。

现在奇怪的部分。每次我的物联网设备发布消息时,都会调用 on_subscribe 方法。这就是我的输出的样子:

在我看来,on_subscribe 应该在调用 subscribe 时在 mqtt_client 构造函数中调用,但是每次代理收到消息时都会这样做。而且似乎 on_log 和 on_message 方法都不起作用。

请帮我找出为什么这不起作用,或者至少指出寻找问题的正确方向。

0 投票
1 回答
94 浏览

c - 使用 Renesas G1E 工具链进行交叉编译。尽管库文件已经存在于 lib 目录中,但出现链接器错误

我正在尝试使用工具链(/home/amruta/Downloads/poky-glibc-x86_64-core-image-weston-sdk-cortexa7hf-neon-toolchain-2.4.2.sh)交叉编译 C 代码(在 yocto 之外),用于瑞萨 G1E模块。交叉编译遵循的程序:

  1. 安装给定的工具链

  2. 设置环境:

  1. 在同一终端编译:

用于交叉编译的源文件:

lib 目录中已经存在的库文件

包含目录中的头文件

构建输出(部分):

请建议成功的交叉编译。