STM32F107VCT6 TCP通讯超时

2019-07-14 14:18发布

下边这段代码是我创建TCP客户端的一部分:
                tcp_clientconn = netconn_new(NETCONN_TCP);         //创建一个TCP链接
                if(tcp_clientconn==NULL)
                {
                    goto FLAG_FLASH;
                }
                err = netconn_connect(tcp_clientconn,&sip,server_port);  //连接服务器
                if(err!=ERR_OK)
                {
                    netconn_delete(tcp_clientconn);                //删除连接
                    tcp_clientconn=NULL;   
                    goto FLAG_FLASH;
                }

      现在有个问题是
当服务端不在,netconn_connect(tcp_clientconn,&sip,server_port)超时时间太长,有没有怎么可以
       设置使得
netconn_connect(tcp_clientconn,&sip,server_port)这个在连接服务器可以超时时间短一点,怎么设置。
       求指导
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
10条回答
TOPCB
2019-07-15 10:00
考虑改一下库文件,如下代码中 sys_arch_sem_wait(apimsg->msg.conn->op_completed, 0)把参数0改成1000试试,单位ms

err_t
tcpip_apimsg(struct api_msg *apimsg)
{
  struct tcpip_msg msg;
  
  if (mbox != SYS_MBOX_NULL) {
    msg.type = TCPIP_MSG_API;
    msg.msg.apimsg = apimsg;
    sys_mbox_post(mbox, &msg);
    sys_arch_sem_wait(apimsg->msg.conn->op_completed, 0);
    return ERR_OK;
  }
  return ERR_VAL;
}

一周热门 更多>