我参考资料做了RT-Thread+LwIP的移植,ping可以通过。
然后参考例程写了Socket编程的UDP回显实验,但是在网络调试助手里并不能得到回显的数据,通过Wireshark抓包发现有从电脑发送过去的UDP包,但没有开发板返回来的数据包。
回显失败后造成堵塞ping也不能通过了
请问各位大佬这是什么原因引起的
查看更多
之前还尝试了CLient程序,可以运行,开发板能发送数据到电脑
单步跟踪的结果是什么?是否是因为你的直连网线?或者windows上的防火墙在起作用?
你这个抓包说明不了问题,关键是你ping包都不通,说明你的数据包ICMP协议都没有通过,可以大致分析范围是:1、你的lwIP的移植在物理层出了问题2、如果物理层是OK的,那就是到IP层看下包是否完整3、绑定的IP、网关、掩码、物理地址、端口是否正确4、检查ICMP 的ping包协议是否正常5、检查UDP协议包是否正常可以按上面步骤依次检查,因该可以找到问题。
欢迎发表与嵌入式相关的技术分享、开发技巧、工具介绍、技术设想、职业心得、行业评论等对他人有启发,排版优雅的文章
回到 顶部
发布 问题
分享 好友
手机 浏览
投诉 建议
回到 底部
再用UDP发送数据之前ping是可以通的,也有ICMP包。UDP发送数据后显示有UDP包发送过去,但没有返回过来,之后就ping不通了
如果ICMP包可以发送,并且每次重新启动都在UDP这个位置出问题,你可以跟踪下UDP包的组包过程,可能是组包的时候修改了那个参数导致整个IP包头出了问题。
你可以将组好的包数据包括IP头数据贴上来看下。