diff --git a/src/mqtt_client.cpp b/src/mqtt_client.cpp index 1521919..27f9a68 100644 --- a/src/mqtt_client.cpp +++ b/src/mqtt_client.cpp @@ -37,7 +37,14 @@ void MQTTClient::connect() .password(config_.password) .finalize(); - client_->connect(connOpts)->wait(); + auto tok = client_->connect(connOpts); // 异步连接 + if (!tok->wait_for(std::chrono::seconds(2))) // 设置超时 + { + LOG_WARN("[MQTTClient] Connect timed out to broker: " + config_.server_ip); + startReconnect(); + return; + } + connected_ = true; reconnect_active_ = false;