- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有使用 Paho MQTTPacket 嵌入式 C++ 库连接到 MQTT 代理的 C++ 代码。当该经纪人是 io.adafruit.com 时,它工作得很好。但是当它是我自己的 Mosquitto 实例在我的 Raspberry Pi 上运行时,连接失败。我已将其缩小到 MQTTClient.h 中的这一行,在 MQTT::Client::connect 方法中:
// this will be a blocking call, wait for the connack
if (waitfor(CONNACK, connect_timer) == CONNACK)
应用程序在这里挂起大约 30 秒,然后得到 CONNACK 以外的结果(具体来说是 0 而不是 2)。
我已经尝试了协议(protocol)版本 3(即 3.1)和 4(即 3.1.1);同样的结果。
我的 Mosquitto 实例没有设置身份验证或密码。我试过在 Mosquitto 日志中打开调试消息,但它们没有显示任何有用的信息。我不知所措。为什么我无法从我的 C++ Paho 代码连接到 Mosquitto?
编辑:这是客户端代码...同样,这在 Adafruit 上运行良好,但是当我将它指向本地主机上的 Mosquitto 时,它会按照描述挂起。 (我删除了用户名和密码——我正在发送它们,但我真的不认为这些是问题所在,因为在命令行上使用 mosquitto_pub 或 mosquitto_sub,无论如何我都可以连接,因为 mosquitto 配置为允许匿名连接。)
const char* host = "127.0.0.1";
int port = 1883;
const char* clientId = "ZoomBridge";
const char* username = "...";
const char* password = "...";
MQTT::QoS subsqos = MQTT::QOS2;
ipstack = new IPStack();
client = new MQTT::Client<IPStack, Countdown, 30000>(*ipstack);
MQTTPacket_connectData data = MQTTPacket_connectData_initializer;
data.willFlag = 1;
data.MQTTVersion = 3;
data.clientID.cstring = (char*)clientId;
data.username.cstring = (char*)username;
data.password.cstring = (char*)password;
data.keepAliveInterval = 20;
data.cleansession = 1;
int rc = ipstack->connect(host, port);
if (rc != MQTT::SUCCESS) {
cout << "Failed [1] (result " << rc << ")" << endl;
return rc;
}
rc = client->connect(data);
if (rc != MQTT::SUCCESS) {
cout << "Failed [2] (result " << rc << ")" << endl;
ipstack->disconnect();
return rc;
}
最佳答案
如评论中所述。
看起来您正在设置标志以指示您要为客户端设置遗嘱和遗嘱 (data.willFlag = 1;
),但随后没有为轻重量。
如果您不需要 LWT,则将标志设置为 0(或删除线路设置标志),因为它应该默认为禁用。
另外值得一提的是,这一切都与 Paho Embedded C++ MQTTPacket client 有关不是完全成熟的Paho C++ client .
关于c++ - Paho MQTT (C++) 客户端无法连接到 Mosquitto,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47115790/
我想在 RPi 上的 docker 中运行 eclipse-mosquitto mqtt 服务器。 我用来运行它的命令是: docker run --name mqtt --restart=alway
我有一个运行多个 Docker 容器的 linux 系统。其中之一是从 mosquitto 1.6.7 docker 镜像运行的 mosquitto 容器。 我无法控制 Mosquitto 容器的创建
我正在尝试使用 TLS 通过 mqtt 进行通信。我的系统中安装了 ubuntu。为了使用 TLS,我使用以下链接创建了证书: http://www.embedded101.com/Blogs/Pao
我已经在我的 ARM 目标板上实现了 mosquitto。 我在Makefile中添加了-DWITH_SRV,因为我需要在我的系统中添加SRV Loopup函数。 但是返回错误 fatal error
我正在为 mosquitto MQTT 代理(版本 1.5)实现一个插件,我正在努力访问我的插件实现中指向 mosquitto 客户端结构的指针的某些元素: #include ... int mos
在mosquitto broker中,有一些写事件日志文件的配置。我正在使用以下配置并运行代理。 log_type all log_dest file /root/Files/mosquitto.lo
我正在使用 mosquitto 作为 MQTT 代理,虽然它提供了广泛的日志记录功能,但我无法找到如何将实际主题的消息记录到文件中(甚至是按主题排序的文件树,甚至数据库)。我看到了 log_desc
我有一个负载均衡器,即 aws elb 所有的 pub/sub 都将通过那个 elb 来 elb 下的两个蚊子经纪人 A 和蚊子经纪人 B 一个 mosquitto 代理在这两个代理之间同步主题(mo
Mosqitto ( http://mosquitto.org/ ) 支持哪些消息队列? 另外我想知道在 MQTT 协议(protocol)中,为每个主题创建不同的消息队列,或者在内存限制的情况下可以
我已经在我的 ubuntu 机器上安装了 mosquitto 服务器和客户端软件包。当我运行命令“mosquitto”来运行 mosquitto 服务器时,我收到错误“错误:地址已在使用中”。为什么我
我正在尝试增加 Mosquitto 代理的最大打开文件连接。但是我读到增加的并发连接不仅仅由 Mosquitto 控制。 根据我们的研究,我们决定 100k 并发连接,我们的目标是 1.6 GB RA
我正在使用 C 语言的 mosquitto 代理和 Paho 客户端库。我希望代理只允许发布一定数量的消息,并阻止任何超过该数量的消息。我尝试将配置中的最大飞行消息选项设置为某个数字,但它不起作用。在
我一直在尝试使用 mosquitto lib 开发 C 代码,通过 TLS 在 mosquitto 代理上发布消息。我在 mosquitto 端配置了 TLS,效果很好。我能够使用 mosquitto
我有一个在 Android 中运行的 MQTT 客户端,以及一个在服务器中运行的 MQTT 代理。我的问题是我们将在哪里使用应用程序,我们有一些连接断开,所以我的网络应用程序需要知道客户端的当前状态。
我在使用 libmosquitto 开发 iOS 应用程序时遇到了一些问题 在我的代码中AppDelegate.swift import UIKit @UIApplicationMain class
我想知道是否有一种方法可以将 Mosquitto 配置为在连接到外部客户端时需要 TLS 和客户端证书,而不需要内部客户端的 TLS 和客户端证书。我应该对 CA(证书颁发机构)或 .conf 文件做
我正在使用 mosquitto 1.4.10。 我有一个客户端,可以批量向同一主题发布多条消息(例如,每批 50 条消息)。客户端将每隔几秒发送一次每个批处理(例如,每 5 秒)。发送一批或几批后,在
我想在更改时重新加载 mosquitto 密码文件。是否可以在 Windows 上发送 SIGHUP(“信号挂断”)或类似的 mosquitto 服务器? 最佳答案 这是可以做到的。首先,您必须设置
我如何制作一个像 mosquitto-auth-plug 这样的插件用于授权,或者一个用于存储消息有效负载或其他用途的插件?我应该用 C 编写还是可以使用 python? 最佳答案 任何用于 mosq
我已经实现了一个不安全的 mosquitto 代理,它可以通过端口 1883 定期发送大量数据(每分钟约 200kb 文件)。 由于我已经实现了 TLS,尽管设置了 message_size_limi
我是一名优秀的程序员,十分优秀!