w5500 PHY和作为TCPCLIENT 断线重连问题请教?

2020-01-01 17:49发布

各位好:
        自己做了一块STM32+W5500 板,有两个问题请教一下
        1 , 发现如果不插网线的话,板子的程序好像允许不下去,插入网线后,程序继续执行,好像在网络初始化的时候,会等待网线状态?
        2 ,做了一个tcp client 客户端,如果TCP服务端先打开,在执行程序,tcp client 能连接上,如果服务端断开重新打开,就连接不上?网络断了 如何重连?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
17条回答
WXF_mabg
2020-01-02 13:35
switch(getSn_SR(SOCK_LOC))
        {
                case SOCK_INIT:
                        connect(SOCK_LOC , pc_ip ,6001);/*在TCP模式下向服务器发送连接请求*/
                        break;
                case SOCK_ESTABLISHED:
                        if( getSn_IR(SOCK_LOC) & Sn_IR_CON )
                 {
                    setSn_IR(SOCK_LOC, Sn_IR_CON);/*Sn_IR的第0位置1*/
                  }
                        len = getSn_RX_RSR(SOCK_LOC);/*len为已接收数据的大小*/
                        break;
                case SOCK_CLOSE_WAIT:   
                        disconnect(SOCK_LOC)                       
                        break;
                case SOCK_CLOSING:/*socket关闭*/
                        close(SOCK_LOC) ;
                        break ;
                case SOCK_CLOSED:/*socket关闭*/
                        socket(SOCK_LOC,Sn_MR_TCP,anyport++,0) ;
      break;
                default:
                        break;
        }// end of switch

请问上面的处理流程对否 请大侠指导?另外配置好 SO_KEEPALIVEAUTO 对tcp服务端断开这种情况,是否有作用?

一周热门 更多>