使 MQTT 客户端连接始终存在

Make MQTT client connection to be always present

我使用的是ESP8266芯片和SMING软件框架MqttClient_Hello示例。

我希望 MQTT 连接始终存在。如果由于某种原因连接断开,我希望重新连接。如何做到这一点?

相关代码在MqttClient_Hello;

void startMqttClient();
void onMessageReceived(String topic, String message);
MqttClient mqtt("192.168.1.8", 1883, onMessageReceived);

// Run MQTT client
void startMqttClient()
{
   mqtt.connect("esp8266");
   mqtt.subscribe("TopicTest");
}

需要在代码中更改什么以确保持续连接?

所以SMING似乎没有断开连接或错误回调。
int mqtt_ping(mqtt_broker_handle_t* broker){...}libemqtt 中实现,您可以尝试通过常规 ping 保持连接,如果失败则尝试重新连接。