|
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_t server;
- 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连接
- }
- }
- }
- }
- }
复制代码 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。
|