stm32F407+LWIP无系统 tcpserver网络不稳定 导致tcp服务器死机 客户端连不上

问题现象

	1: 网络连接成功后,客户端连续连接服务器正常
	2:在不连续连接服务器情况下,快速插拔网线,停止插拔,在连接服务器正常
	3:快速插拔网线+连续连接服务端,多次后服务器死机,连接不上,网络链路正常,udp可以连接

解决方法

1: 原因:
	在网络不稳定的情况下,多次连接服务器,每一次连接都要申请内存,断开后也没有释放内存,导致内存不足,申请失败,tcp服务器进入死机状态
2: 解决方法:
	1> 在lwip目录下找到core目录下的tcp_in.c文件
	2> 在 tcp_in.c 找到tcp_listen_input(struct tcp_pcb_listen *pcb)函数
	3> 在   npcb = tcp_alloc(pcb->prio);之前加入下面这段代码
	 //这里出现问题,申请空间失败,导致tcp服务死机
    npcb = tcp_active_pcbs;
    while(npcb != NULL){
      tcp_abort(npcb);
      npcb = npcb->next;
    }


  • 13
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
基于stm32f407 lwip的web server设备参数配置,需要进行以下步骤: 1. 首先,在stm32f407芯片上安装合适的lwip库和web server应用程序。确保所选的库和应用程序与芯片型号和版本兼容。 2. 在代码中设置网络参数,包括IP地址、子网掩码、网关和DNS服务器等。这些参数可以在代码的配置文件中进行设置,根据网络环境进行调整。 3. 配置web server的端口号。在代码中设置web server监听的端口号,可以选择合适的端口号,避免与其他应用程序冲突。 4. 配置web server的默认页面。可以在代码中指定web server的默认页面,确保在访问根目录时显示所需的页面。 5. 配置web server的虚拟目录和文件。可以在代码中设置web server的虚拟目录和文件列表,确保能够访问所需的文件和资源。 6. 设置web server的权限和安全性。可以在代码中配置web server的权限和安全性设置,限制访问和防止非法操作。 7. 创建web server的回调函数。可以在代码中定义web server的回调函数,处理客户端请求和响应。 8. 编译和烧录代码。完成以上配置后,对代码进行编译和烧录,将代码烧录到stm32f407芯片上。 9. 启动设备并测试。将stm32f407芯片连接网络,并启动设备。使用浏览器访问设备的IP地址和端口号,在浏览器上显示web server的默认页面,进行功能测试。 以上是基于stm32f407 lwip的web server设备参数配置的基本步骤。根据具体需求,还可以对其他参数进行配置和调整,以满足特定的应用需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

周振全

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值