浏览代码

MQTT: trigger conn failure callback if DNS success but connection failed (#3477)

Johan Ström 2 年之前
父节点
当前提交
9dae0e6725
共有 1 个文件被更改,包括 6 次插入1 次删除
  1. 6 1
      app/modules/mqtt.c

+ 6 - 1
app/modules/mqtt.c

@@ -1021,7 +1021,12 @@ static void socket_dns_found(const char *name, ip_addr_t *ipaddr, void *arg)
   NODE_DBG(IPSTR, IP2STR(&(ipaddr->addr)));
   NODE_DBG("\n");
 
-  mqtt_socket_do_connect(mud);
+  if(mqtt_socket_do_connect(mud) != ESPCONN_OK) {
+      NODE_DBG("socket_dns_found, got DNS but connect failed\n");
+      mqtt_connack_fail(mud, MQTT_CONN_FAIL_DNS);
+      mqtt_socket_disconnected(arg);
+      return;
+  }
 }
 
 #include "pm/swtimer.h"