ubuntu mosquitto库函订阅消息
时间: 2023-07-05 08:20:16 浏览: 95
要在Ubuntu上使用Mosquitto库来订阅消息,你需要进行以下步骤:
1. 安装Mosquitto库
你可以通过在终端中执行以下命令来安装Mosquitto库:
```
sudo apt-get install libmosquitto-dev
```
2. 编写订阅代码
在你的代码中,你需要引入MQTT库和Mosquitto库,然后创建一个Mosquitto客户端。然后,你可以使用Mosquitto库提供的函数来连接到MQTT代理,并订阅你感兴趣的主题。
以下是一个简单的例子,演示如何使用Mosquitto库订阅主题:
```
#include <mosquitto.h>
#include <stdio.h>
#include <stdlib.h>
void on_message(struct mosquitto *mosq, void *userdata, const struct mosquitto_message *msg)
{
printf("Received message: %s\n", (char *)msg->payload);
}
int main()
{
struct mosquitto *mosq = NULL;
mosquitto_lib_init();
mosq = mosquitto_new(NULL, true, NULL);
mosquitto_message_callback_set(mosq, on_message);
mosquitto_connect(mosq, "localhost", 1883, 60);
mosquitto_subscribe(mosq, NULL, "test/topic", 0);
mosquitto_loop_forever(mosq, -1, 1);
mosquitto_disconnect(mosq);
mosquitto_destroy(mosq);
mosquitto_lib_cleanup();
return 0;
}
```
在这个例子中,我们创建了一个Mosquitto客户端,连接到本地的MQTT代理,并订阅"test/topic"主题。每当我们收到一条消息时,我们将调用on_message函数来处理它。
3. 运行代码
编译并运行你的代码。当有消息发布到"test/topic"主题时,你的代码将会接收到它,并在控制台中打印出来。
注意:在运行代码之前,你需要确保MQTT代理已经启动,并且已经有消息发布到"test/topic"主题上。
阅读全文