完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
问题是这样的,我使用LWIP建立了一个服务器,然后我设置这个服务器只能让一个客户端连接进来,设置如下
tcp_listen_with_backlog(tcp_echoserver_PCB, TCP_LISTEN_BACKLOG); 其中TCP_LISTEN_BACKLOG就是允许的客户端连接数,我TCP_LISTEN_BACKLOG设置成了1,然后我用网络调试助手在进行第一次连接后,能和板子通信上,数据收发啥的都很正常,接着我主动断开了客户端,再次尝试连接到板子,就连接不上去了。如果我把TCP_LISTEN_BACKLOG设置成2,问题也是一样的,正常连接2次后,第三次也是无法连接,所以我怀疑是不是在我客户端断开连接后,服务器少做了什么操作,类似于释放什么资源,或关闭套接字啥的,我程序里面只做了tcp_close(tpcb)操作,不懂是不是还少了啥!!求大神们解答~~实在是郁闷,到底少了啥操作!! |
|
相关推荐
21个回答
|
|
|
|
|
|
|
|
|
不懂。。。。顺便问下,看了原子哥的例程 想问下移植lwip的时候 可以用lwip自带的内存分配函数而不用移植malloc吗?
|
|
|
|
|
|
我是两个都仍进去了~~
|
|
|
|
|
|
没人会么?
|
|
|
|
|
|
没人知道么?
|
|
|
|
|
|
没人知道么?
|
|
|
|
|
|
没人会么?
|
|
|
|
|
|
虽然帮不到楼主 但我也在纠结过lwip C/S各种连不上 各种不稳定 后来项目组用的是w5200,直接内置协议栈
|
|
|
|
|
|
我不是连不上不稳定的问题,我程序在连接的时候很稳定,我要求是设置只允许一个客户端去连接,也就是说当A客户端连接的时候B客户端无法连接,或者当B客户端连接的时候A客户端无法连接,就是这样。
我现在是当A客户端断开后,按需求是B要能连接上,可实际情况是A断开后,A和B都连接不上去,所以我敢说很大的可能是服务器没释放掉某个状态标识或资源啥的,导致A断开后,服务器依然认为当前连接数已经达到设定值,不允许新的客户端连接。从而导致A和B都连接不上去。 问题就在于,在A断开连接后,如何让服务器中的各种状态恢复到初始值?除了tcp_close外,还要释放啥东西? |
|
|
|
|
|
原因视频里有讲,但我实在记不住哪一讲了。
|
|
|
|
|
|
哪个视频?lwip的视频一大堆!
|
|
|
|
|
|
参考下我们综合 实验的代码,综合实验没有这个问题。 你直接测试综合实验的网络通信功能即可。
|
|
|
|
|
|
你们那综合实验代码哪里下载?
|
|
|
|
|
|
我也不记得哪个视频啊,或者你自己写点代码限制,我自己也是这样做,不然对于client那种高并发的请求会无法处理。现在的浏览器都是高并发的,特别是opera。
|
|
|
|
|
|
网络实验5 RAW_TCP服务器实验
//强制删除TCP Server主动断开时的time wait void tcp_server_remove_timewait(void) { struct tcp_pcb *pcb,*pcb2; u8 t=0; while(tcp_active_pcbs!=NULL&&t<200) { lwip_periodic_handle(); //继续轮询 lwip_pkt_handle(); t++; delay_ms(10); //等待tcp_active_pcbs为空 } pcb=tcp_tw_pcbs; while(pcb!=NULL)//如果有等待状态的pcbs { tcp_pcb_purge(pcb); tcp_tw_pcbs=pcb->next; pcb2=pcb; pcb=pcb->next; memp_free(MEMP_TCP_PCB,pcb2); } } 应该要删除这个就行了。不然一直等待,好像会等1分钟 |
|
|
|
|
|
我的代码不是原子的,跟你的有点不一样,不过我看了下你这代码,我发现我这里也做了memp_free()的处理。你说会等待一分钟,我还真没注意到,不知道我这边会不会这样,我试下,如果要等待一段时间,问题也不大。
|
|
|
|
|
|
你有tcp_pcb_purge吗???
|
|
|
|
|
|
|
|
|
|
|
|
我是参考下面这个金龙107_ LWIP_TCP server代码写的,我发现里面没用到tcp_pcb_purge
|
|
|
|
|
只有小组成员才能发言,加入小组>>
951 浏览 0 评论
如何使用STM32+nrf24l01架构把有线USB设备无线化?
3105 浏览 7 评论
请问能利用51单片机和nRF24L01模块实现实时语音无线传输吗?
3007 浏览 5 评论
3876 浏览 3 评论
3325 浏览 8 评论
请教各位大咖:有没有接收频率32M左右的芯片推荐的?先感谢啦!
1289浏览 1评论
1232浏览 0评论
920浏览 0评论
988浏览 0评论
952浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-14 07:54 , Processed in 1.273272 second(s), Total 108, Slave 91 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
3239