提问人:YounesCHTIOUI 提问时间:11/18/2023 更新时间:11/18/2023 访问量:18
LWIP STM32H7 原始 TCP 连接在接收到几个字节后关闭
LWIP STM32H7 Raw TCP connection closes after receiving a few bytes
问:
我在自定义板上使用 STM32H7。 Board 是使用 RAW TCP LWIP 的服务器 TCP。它的 IP 为 192.168.3.1,侦听端口 31。 主机PC具有Hercules(IP 192.168.3.2)。这是一个客户 两者的网关都设置为 192.168.3.0
我可以将 Hercules 连接到我的板(使用端口 31)
但是,当我发送任何数据(例如,10 个字节,编号 0 到 9)时,从主机 (Hercules) 到板。板接收数据并发送关闭连接的请求(我可以阅读“远程主机拒绝连接”)
Wire Shark,显示连接(SYN 从 3.2 到 3.1)、SYN ACK 从 (3.1 到 3.2),最后是 ACK 从 3.2 到 3.1。 只要我不发送任何数据,连接就会保持打开状态。 然后在我发送 10 字节的数据 (Len 10) 之后。Hercules 将其与 PSH 和 ACK(附上屏幕截图)一起发送。
在接收到船上的数据后立即(功能tcp_listen_input)。此函数检查接收到的标志,如果它有 ACK(就是这种情况),它会调用tcp_rst,将 RST 和 ACK 发送到 Hercules 并关闭连接。
我正在将 LWIP 2.1.2 与 CubeMX 6.6.1 一起使用
我禁用了 NAGLE 算法
这里有什么问题? 为什么我的主板(TCP服务器)在收到数据后就关闭了连接? 为什么 Hercules 使用 PSH 和 ACK 发送数据?
任何帮助都是值得赞赏的。谢谢
已尝试更改设置。尝试了不同的IP。尝试了其他TCP工具
答: 暂无答案
评论