gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 14:48:57 24 4
gpt4 key购买 nike

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

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

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

ReportSender::ReportSender()
{
mosquitto_lib_init();

mosquitoStruct = mosquitto_new (NULL, true, NULL);

mosquitto_tls_opts_set(mosquitoStruct, 1, NULL, NULL);

mosquitto_tls_set(mosquitoStruct, "~/temp/keys/secondAttempt/server.crt", NULL, NULL, NULL, NULL);

mosquitto_tls_insecure_set(mosquitoStruct, false);

mosquitto_connect_callback_set(mosquitoStruct, connect_cb);
mosquitto_publish_callback_set(mosquitoStruct, publish_cb);
mosquitto_log_callback_set(mosquitoStruct, log_cb);

mosquitto_connect (mosquitoStruct, MQTT_BROKER, MQTT_PORT, 0);

const char *reportRef = "Hello Word!";

// Publish the message to the topic
mosquitto_publish (mosquitoStruct, NULL, MQTT_TOPIC,
strlen(reportRef), reportRef, 0, false);

sleep (20);
}

订阅者是:

mosquitto_sub -h 192.168.56.101 -p 8883 -t "#" -v --cafile server.crt

出了什么问题?

谢谢,毛罗

最佳答案

您应该查看loop*() 函数集,这些函数是处理后台网络流量所必需的。 publish() 不是阻塞调用。

关于c - Mosquitto 发布者未发布任何消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50091875/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com