fix(vd960DBN): MQTT socket 复用 SocketId_TCP,对标官方 WCHNET MQTT 例程

根因分析:iot_connect_broker 自建 socket 与 WCHNET_CreateTcpMqttSocket
创建的 SocketId_TCP 冲突(重复创建),且自建 socket 的 WCHNET_SocketSend
崩溃。官方 MQTT 例程使用统一的 SocketId/SocketId_TCP 模式。

改动:
- peripheral_main.c: 恢复 WCHNET_CreateTcpMqttSocket() 调用
- iot_connect_broker: 不再创建新 socket,直接复用 SocketId_TCP
- 全链路(SocketSend/HandleSockInt/poll)通过 g_iot_socket=SocketId_TCP 统一
This commit is contained in:
wangfq
2026-07-06 16:09:22 +08:00
parent 46091639cd
commit 0c8402d726
2 changed files with 12 additions and 42 deletions
@@ -238,9 +238,15 @@ void Main_Circulation(void)
if(g_net_state.flag == 2)
{
if(g_sub_code_enable.iot_enable){
// IoT MQTT 模式由 iot_connect_broker() 自行管理 socket
// 不要在此重复创建,直接推进状态
g_net_state.flag = 3;
if(iot_net_info.mode == IOT_Addr_IP_Mode){
if(get_ipstr_to_array(iot_net_info.remote_addr, RemoteIP) == 0){
WCHNET_CreateTcpMqttSocket();
}
}
else{
//DNS
}
}
else
{