完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
小弟这里有个写了个代码,删除socket,在重新新建,重新链接 closesocket(fd); |
|
相关推荐
7个回答
|
|
你通过netstat查看,关闭socket之后会是TIME_WAIT状态,过一会儿(约几分钟)就会彻底关闭并回收了
|
|
|
|
感谢,但我这里在建立建立好socket后也改了配置额。这样改,不是直接释放的意思吗?
if ((fd = socket(AF_INET, SOCK_STREAM, 0)) == -1) { LOG_E("tcp client Socket error"); return -1; } struct linger linger = {1, 0}; if(fd.sock,SOL_SOCKET,SO_LINGER,(char*)&linger,sizeof(linger)) == -1) { LOG_E("tcp client setsockopt error"); return -1; } |
|
|
|
|
|
|
|
我这里的问题:
我定义#define RT_LWIP_TCP_PCB_NUM 1 然后我closeocket后,立马又准备建立一个新的socket,然后一定失败,检查发现是下面的TCP_PCB用完了,之前close的内存没释放, 看到他都是固定在tcp_slowtmr中释放,要最慢2分钟 /* Check if this PCB has stayed long enough in TIME-WAIT */ if ((u32_t)(tcp_ticks - pcb->tmr) > 2 * TCP_MSL / TCP_SLOW_INTERVAL) { ++pcb_remove; } |
|
|
|
找到原因了。我这个线程优先级高,我close后。立马建新的socket,之前关闭的socekt的这个时候还处在FIN_WAIT_1。
在close后,加个delay,释放一下CPU,在建立,就好了, 最后会跑到:tcp_alloc: killing off oldest TIME-WAIT connection |
|
|
|
第一次用lwip。。是哪里没用对吗
|
|
|
|
主要是这几个配置
#define RT_MEMP_NUM_NETCONN (40) #define RT_LWIP_PBUF_NUM (16) #define RT_LWIP_RAW_PCB_NUM (4) #define RT_LWIP_UDP_PCB_NUM (8) #define RT_LWIP_TCP_PCB_NUM (30) #define RT_LWIP_TCP_SEG_NUM (32) #define RT_LWIP_TCP_SND_BUF (8196) #define RT_LWIP_TCP_WND (8196) #define RT_LWIP_TCPTHREAD_PRIORITY 28 #define RT_LWIP_TCPTHREAD_MBOX_SIZE 8 #define RT_LWIP_TCPTHREAD_STACKSIZE (2*1024) #define RT_LWIP_ETHTHREAD_PRIORITY 12 #define RT_LWIP_ETHTHREAD_STACKSIZE (1*1024) #define RT_LWIP_ETHTHREAD_MBOX_SIZE 8 #define LWIP_NETIF_STATUS_CALLBACK 1 #define LWIP_NETIF_LINK_CALLBACK 1 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
842 浏览 0 评论
6562 浏览 0 评论
如何使用python调起UDE STK5.2进行下载自动化下载呢?
2869 浏览 0 评论
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
3105 浏览 0 评论
获奖公布!2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
33536 浏览 11 评论
73715 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 22:47 , Processed in 0.662548 second(s), Total 81, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号