Просмотр исходного кода

update: mqtt库也兼容纯ipv4环境

Wendal Chen 3 лет назад
Родитель
Сommit
c5e493f9b7

+ 2 - 3
components/network/libemqtt/luat_lib_mqtt.c

@@ -290,14 +290,13 @@ static int l_mqtt_create(lua_State *L) {
 	// const char *ip;
 	size_t ip_len = 0;
 #ifdef LUAT_USE_LWIP
-	mqtt_ctrl->ip_addr.type = 0xff;
+	ip_addr_set_zero(&mqtt_ctrl->ip_addr);
 #else
 	mqtt_ctrl->ip_addr.is_ipv6 = 0xff;
 #endif
 	if (lua_isinteger(L, 2)){
 #ifdef LUAT_USE_LWIP
-		mqtt_ctrl->ip_addr.type = IPADDR_TYPE_V4;
-		mqtt_ctrl->ip_addr.u_addr.ip4.addr = lua_tointeger(L, 2);
+		ip_addr_set_ip4_u32(&mqtt_ctrl->ip_addr, lua_tointeger(L, 2));
 #else
 		mqtt_ctrl->ip_addr.is_ipv6 = 0;
 		mqtt_ctrl->ip_addr.ipv4 = lua_tointeger(L, 2);

+ 1 - 1
components/network/libemqtt/luat_mqtt_client.c

@@ -388,7 +388,7 @@ int luat_mqtt_connect(luat_mqtt_ctrl_t *mqtt_ctrl) {
     LLOGD("host %s port %d keepalive %d", hostname, port, keepalive);
     mqtt_set_alive(&(mqtt_ctrl->broker), keepalive);
 #ifdef LUAT_USE_LWIP
-	ret = network_connect(mqtt_ctrl->netc, hostname, strlen(hostname), (0xff == mqtt_ctrl->ip_addr.type)?NULL:&(mqtt_ctrl->ip_addr), port, 0) < 0;
+	ret = network_connect(mqtt_ctrl->netc, hostname, strlen(hostname), ip_addr_isany_val(mqtt_ctrl->ip_addr)?NULL:&(mqtt_ctrl->ip_addr), port, 0) < 0;
 #else
 	ret = network_connect(mqtt_ctrl->netc, hostname, strlen(hostname), (0xff == mqtt_ctrl->ip_addr.is_ipv6)?NULL:&(mqtt_ctrl->ip_addr), port, 0) < 0;
 #endif