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连接
}
}
}
}
} 用netstat -an看看端口状态
页:
[1]