fix(vd960DBN): IoT socket 重复创建 + broker IP 解析错误

- iot_connect_broker: 删除 memcpy,get_ipstr_to_array 已正确解析 IP
  之前 memcpy 把原始 ASCII 字节覆写到 broker_ip,导致 IP 变成 49.50.49.46
- peripheral_main.c: IoT 模式下跳过 WCHNET_CreateTcpMqttSocket,
  由 iot_connect_broker() 统一管理 socket 生命周期,避免重复创建
This commit is contained in:
wangfq
2026-07-06 10:46:51 +08:00
parent e6dbdb5296
commit c0220c1d37
2 changed files with 4 additions and 11 deletions
@@ -484,8 +484,7 @@ static void iot_connect_broker(void) {
// 解析 broker 地址 // 解析 broker 地址
if (get_ipstr_to_array((char *)iot_net_info.remote_addr, broker_ip) == 0) { if (get_ipstr_to_array((char *)iot_net_info.remote_addr, broker_ip) == 0) {
// 是 IP 地址 // 是 IP 地址 — get_ipstr_to_array 已将结果写入 broker_ip,无需 memcpy
memcpy(broker_ip, iot_net_info.remote_addr, 4);
PRINT("IOT: broker IP %d.%d.%d.%d:%d\n", PRINT("IOT: broker IP %d.%d.%d.%d:%d\n",
broker_ip[0], broker_ip[1], broker_ip[2], broker_ip[3], broker_ip[0], broker_ip[1], broker_ip[2], broker_ip[3],
iot_net_info.mqtt_port); iot_net_info.mqtt_port);
@@ -238,15 +238,9 @@ void Main_Circulation(void)
if(g_net_state.flag == 2) if(g_net_state.flag == 2)
{ {
if(g_sub_code_enable.iot_enable){ if(g_sub_code_enable.iot_enable){
if(iot_net_info.mode == IOT_Addr_IP_Mode){ // IoT MQTT 模式由 iot_connect_broker() 自行管理 socket
if(get_ipstr_to_array(iot_net_info.remote_addr, RemoteIP) == 0){ // 不要在此重复创建,直接推进状态
WCHNET_CreateTcpMqttSocket(); g_net_state.flag = 3;
}
}
else{
//DNS
}
} }
else else
{ {