xtaens 发表于 2018-3-21 12:45:33

lwip下建立TCP Client,使用netconn_connect重连服务器后报ERR_ABRT错误

ucosii下使用lwip 2.0.3建立TCP Client任务,连接服务器(周立功TCP&UDPDebug软件建立)正常,该任务会定时断开连接、重新连接。
现在的问题是下次重连时从某次(比如重连4次后,即前4次都重连成功了)开始后就再也重连不上了,一直返回ERR_ABRT(-13),但是软件TCP&UDPDebug上连接确实是建立成功了。

下面是我的代码,哪个大虾遇到过这个问题吗,最后如何解决呢?

static void TCP_Client(void *pdata)
{
err_t err;
struct netconn *tcp_clientconn;
ip_addr_tserver;

LWIP_UNUSED_ARG(pdata);
IP4_ADDR(&server, 192, 168, 1, 100);
while(1)
{
    tcp_clientconn=netconn_new(NETCONN_TCP);//创建一个TCP链接
    err=netconn_connect(tcp_clientconn,&server,8888);//连接服务器
    if(err != ERR_OK)
    {
      netconn_delete(tcp_clientconn);
      OSTimeDlyHMSM(0,0,10,0);
    }
    else
    {
      tcp_clientconn->recv_timeout = 10;//10ms超时
      while(1)
      {
      netconn_write();//发送数据
      err=netconn_recv();//接收数据
      
      if((err == ERR_CLSD)||(err == ERR_RST)||(30秒时间到了))
      {
          netconn_close(tcp_clientconn);
          netconn_delete(tcp_clientconn);
          OSTimeDlyHMSM(0,0,2,0);
         
          break;//退出while1,重新建立tcp连接
      }
      }
    }
}
}

xiaoyigechaos 发表于 2018-3-21 18:59:25

用netstat -an看看端口状态
页: [1]
查看完整版本: lwip下建立TCP Client,使用netconn_connect重连服务器后报ERR_ABRT错误