CH32F207 网络重连问题


1、假如和服务器断开,SINT_STAT_DISCONNECT里面怎么写才能实现重连

void WCHNET_HandleSockInt(u8 socketid, u8 intstat)
{
    if (intstat & SINT_STAT_RECV)                               //receive data
    {
        WCHNET_DataLoopback(socketid);                          //Data loopback
    }
    if (intstat & SINT_STAT_CONNECT)                            //connect successfully
    {
        WCHNET_ModifyRecvBuf(socketid, (u32) SocketRecvBuf[socketid], RECE_BUF_LEN);
        printf("TCP Connect Success\r\n");
    }
    if (intstat & SINT_STAT_DISCONNECT)                         //disconnect
    {
//        WCHNET_SocketConnect(0);
        printf("TCP Disconnect\r\n");
    }
    if (intstat & SINT_STAT_TIM_OUT)                            //timeout disconnect
    {
        printf("TCP Timeout\r\n");
        WCHNET_CreateTcpSocket();
    }
}



您好,如果是故障原因断开连接,应该会根据最后一个if判断超时重新建立连接。若是自己断开连接后重新建立连接,可在倒数第二个if判断中(disconnect)中添加一个WCHNET_CreateTcpSocket()函数,应该会重新建立连接,你可以试一下。后续若有问题,可邮箱(lzs@wch.cn)沟通。


只有登录才能回复,可以选择微信账号登录