paho.mqtt.c 中 设置 MQTTVERSION_3_1_1 例子
时间: 2024-09-09 11:16:55 浏览: 53
在Paho MQTT C库中,如果你想要连接到支持MQTT v3.1.1协议的服务器,你需要在初始化客户端之前设置`MQTTVERSION_3_1_1`常量。这是一个示例:
```c
#include <paho-mqtt3.h>
#define MQTTVERSION_3_1_1 4
int main() {
mqtt_client_context_t *client;
client_id_t client_id = "my_client";
// 初始化MQTT客户端,指定版本
int result = mqtt_client_init(&client, NULL, &MQTTVERSION_3_1_1);
if (result != MQTTCLIENT_SUCCESS) {
printf("Error initializing client: %s\n", mqtt_last_error_string(result));
return -1;
}
// ... 其他客户端配置和连接步骤 ...
// 当连接成功后,可以开始发送和接收消息
// ...
// 清理并关闭客户端连接
mqtt_client_cleanup(client);
return 0;
}
```
在这个例子中,`mqtt_client_init()`函数的第一个参数是一个指向`mqtt_client_context_t`类型的指针,第二个参数是用户数据(这里设为NULL),第三个参数是要使用的MQTT版本号,`MQTTVERSION_3_1_1`就是这个值。如果服务器也支持v3.1.1版本,那么连接会成功。
阅读全文