fix: JSON TCP accept后未配置接收缓冲区导致无法收数据
根因: WCHNET TCP Server 模式下, accept后的socket需要调用 WCHNET_ModifyRecvBuf 配置接收缓冲区才能正常接收数据。 修复: 1. tcp_json_srv.c: accept时调用 WCHNET_ModifyRecvBuf 设置 recv buf 2. 去掉脆弱的scan逻辑, 改为收到CONNECT+socket不匹配已知socket时自动识别 3. net_srv.c: 同步更新路由条件 4. DBNetClient: 增加原始JSON发送日志
This commit is contained in:
@@ -487,7 +487,7 @@ void WCHNET_HandleSockInt(uint8_t socketid, uint8_t intstat)
|
||||
return;
|
||||
}
|
||||
// Also catch newly accepted TCP connections that might be JSON clients
|
||||
if (intstat & SINT_STAT_CONNECT && g_json_socket_client == 0xFF && socketid != g_json_socket_listen) {
|
||||
if ((intstat & SINT_STAT_CONNECT) && socketid != SocketId_TCP && socketid != SocketId_UDP) {
|
||||
tcp_json_handle_sock_int(socketid, intstat);
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user