天线|RF射频
直播中

李慎梓

7年用户 1401经验值
私信 关注
[问答]

为什么STM32 lwip的服务器模式无法重复连接?

问题是这样的,我使用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)操作,不懂是不是还少了啥!!求大神们解答~~实在是郁闷,到底少了啥操作!!

回帖(9)

陆兰兰

2019-11-5 07:22:39
没人会么?
举报

刘艳芳

2019-11-5 07:38:31
问题是这样的,我使用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)操作,不懂是不是还少了啥!!求大神们解答~~实在是郁闷,到底少了啥操作!!
举报

陈键

2019-11-5 07:44:36
问题是这样的,我使用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)操作,不懂是不是还少了啥!!求大神们解答~~实在是郁闷,到底少了啥操作!!
举报

阮浙临

2019-11-5 08:02:59
帮顶!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分