使用stm32开发板利用lwip协议做TCP客户端,怎样检测发出的数据是否被PC服务端收到? 10
试了一下,,用ETH_ReadPHYRegistert函数能够检测到网线中断,但对于网线物理连接正常,而线路不太好的情况下,数据是发送不到服务端的,单步追踪了一些,tcp...
试了一下,,用ETH_ReadPHYRegistert函数能够检测到网线中断,但对于网线物理连接正常,而线路不太好的情况下,数据是发送 不到服务端的,单步追踪了一些,tcp_connect函数的返回值是OK,pcb->state = ESTABLISHED
但是tcp_write 其实没有 被调用!!!怎样检测TCP通讯中断呢? 展开
但是tcp_write 其实没有 被调用!!!怎样检测TCP通讯中断呢? 展开
1个回答
展开全部
使用wireshark抓包,看PC端是否收到,LwIP内部调试可启用LwIP Debug代码,打印内部执行状态
追问
找到点思路,在tcp.h中tcp_process()函数中有调用回调函数的地方,因为只有网络连接建立起来才会通讯,才能发送接收数据。所以可以在这个函数里设置标志位,通过检测标志位的变化,就可以知道连接状况了,但这个反应比主函数有延迟,所以需要一定时间间隔后再检测。这是我的思路,还在尝试中。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询