gpt4 book ai didi

sockets - lwip stm32-HTTP请求失败

转载 作者:行者123 更新时间:2023-12-03 12:08:58 40 4
gpt4 key购买 nike

我使用在stm32处理器(stm32f407)上使用的套接字api运行freeRTOS和lwip 1.4.1。
总的来说,它工作得很好。
我可以使用udp和tcp发送和接收数据。

但是在3到7天的时间窗口中,我看到了一个奇怪的行为。

我的问题

我的客户端(Windows 10,每秒发送1-2个HTTP请求)每3至7天发送一次这些请求失败。发生这种情况时,将连续有约10个请求失败。在极短的时间内,堆栈根本不会重新生成。

我的猜测

我想我可能在LWIP配置中未正确配置某些内容。
因为堆栈使用得很好,并且在此方向上不应有任何错误

我的以太网设置

服务器和客户端直接连接,两者之间没有交换机,集线器或路由器。

服务器(stm32/lwip):

  • 静态,192.168.168.2
  • 网络掩码,255.255.255.0

  • 客户端(win10)eth0:
  • 静态,192.168.168.1
  • 网络掩码,255.255.255.0

  • 客户端(win10)eth1:
  • dhcp,到正常工作网络

  • 我的尝试

    目前,我正在运行测试,这些测试每秒发送〜7-8个请求,但是该错误并不经常发生。
    我玩过lwip配置:
  • 堆栈的更多内存
  • 更多pbufs
  • 较大的pbufs
  • 有/无积压

  • 但是一切都没有改善这个连接问题。
    可能是由于客户端经常重复使用的端口号会导致此问题吗?

    这是lwip调试输出的相关部分:
    tcp debugging output

    https://pastebin.com/a9JabhET

    这是Wireshark日志:

    orig screenshot
    hole wireshark log:

    https://www.file-upload.net/download-12682664/debug_tcp_00001_20170828172950.html

    这是我的lwipopts.h:
    lwip configuration:

    https://pastebin.com/cW0v4hF6

    最佳答案

    这似乎是一个内存问题,但是由于它是暂时的,因此可能会导致某些内容超时。
    我建议使用LwIP的内存统计功能,并启用ARP调试消息。

    关于sockets - lwip stm32-HTTP请求失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45935885/

    40 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com