完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
这个要看你的tcp_client_connection_close怎么写的。这个不是lwip提供的断开链接的函数
|
|
|
|
断开连接函数如下,这个函数是原子个开发板上的例程,
//关闭与服务器的连接 void tcp_client_connection_close(struct tcp_pcb *tpcb, struct tcp_client_struct * es) { //移除回调 tcp_abort(tpcb);//终止连接,删除pcb控制块 tcp_arg(tpcb,NULL); tcp_recv(tpcb,NULL); tcp_sent(tpcb,NULL); tcp_err(tpcb,NULL); tcp_poll(tpcb,NULL,0); if(es) mem_free(es); tcp_client_flag&=~(1<<5);//标记连接断开了 Display_Text(10,180,1,5,"tcp_client closed"); Display_Number(10,200,2,x++); } 还有就是LWIP提供的断开连接的函数是怎么写的?能否给个例程? |
|
|
|
为啥不是在设置NULL后调用tcp_close断开连接,正常情况下不用 tcp_abort吧,你要强行中断?
|
|
|
|
//关闭与服务器的连接
void tcp_client_connection_close(struct tcp_pcb *tpcb, struct tcp_client_struct * es) { //移除回调 tcp_abort(NULL);//终止连接,删除pcb控制块 tcp_arg(tpcb,NULL); tcp_recv(tpcb,NULL); tcp_sent(tpcb,NULL); tcp_err(tpcb,NULL); tcp_poll(tpcb,NULL,0); if(es) mem_free(es); tcp_client_flag&=~(1<<5);//标记连接断开了 Display_Text(10,180,1,5,"tcp_client closed"); Display_Number(10,200,2,x++); } 你是说把tcp_abort(tpcb)函数中的参数"tpcb"改成"NULL"?如上面所示? |
|
|
|
不是,我是说不用tcp_abort, 这个是网络已经断了调用的。你应该用tcp_close去正常断开网络链接,如果失败,还需要重新设置tcp_poll,让程序继续发送断开的帧。
|
|
|
|
哦,好的,我再试试。
|
|
|
|
只有小组成员才能发言,加入小组>>
如何使用STM32+nrf24l01架构把有线USB设备无线化?
2331 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
2076 浏览 5 评论
2769 浏览 3 评论
2527 浏览 8 评论
为什么ucosii上移植lwip后系统进入了HardFault_Handler?
2470 浏览 4 评论
541浏览 0评论
545浏览 0评论
326浏览 0评论
145浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-19 15:35 , Processed in 1.203546 second(s), Total 50, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号