mqttclient.h
static void fn(struct mg_connection *c, int ev, void *ev_data, void *fn_data);
=====
mqttclient.cpp
static const std::string sub_topic_list[] = {"topic1","topic2"};
void CMqttClient::fn(struct mg_connection *c, int ev, void *ev_data, void *fn_data)
{
//...
else if (ev == MG_EV_MQTT_OPEN) (
//MOTT connect is successful
for (int i = 0,i < sizeof(sub_topic_list)/sizeof(std::string); i++) (
struct mg_str subt = mg_str(sub_topic_list[i].c_str());
sub_opts.topic = subt;
sub_opts.topic = subt;
sub_opts.qos = 1;
mg_mqtt_sub(c, &sub opts);
MG_INFO(("%lu SUBSCRIBED to %.*s",c->id, (int)subt.len, subt.ptr));
}
//...
}
MQTTClient:连接事件处理与主题订阅
该代码片段展示了MQTT客户端中的函数`fn`,当连接成功时,它会订阅预定义的主题列表。`MG_EV_MQTT_OPEN`触发时,循环遍历`sub_topic_list`并设置订阅选项,包括主题名和QoS级别。
2万+

被折叠的 条评论
为什么被折叠?



