Windows应用程序通过WiFi与嵌入式设备进行通信,但有时会突然断开连接。我已经捕获了与Wireshark的通信,并找到了断开点之间的最后一次通信。 我可以看到发送确认不正确。我可以看到TCP Spurious重传和丢失确认。嵌入式设备的IP地址为192.168.1.1,Windows PC的IP地址为192.168.1.2谁应该责怪这些通信问题?嵌入式设备(192.168.1.1)或Windows App(192.168.1.2)。附加数据包的屏幕截图。
答案 0 :(得分:1)
嵌入式设备指示的“虚假重传”是正确的。
Wireshark的“TCP acked unseen segment”指示不正确。这似乎是一个Wireshark错误(可能已修复或未修复)。
请参阅:Wireshark error with "TCP Acked unseen segment"?
您使用的是什么版本的Wireshark?
在任何情况下,捕获的帧显示每个端最终正确地确认另一端发送的最后数据,之后任何一端都不再发送数据。因此,严格来说,协议级别没有任何问题。
在连接的最终帧之后应该发生什么? 来自嵌入式设备的更多数据?
如捕获中所见,嵌入式设备:
因此,考虑到Windows TCP问题(极不可能)与嵌入式设备未知问题之间的选择,我会选择嵌入式设备(特别是在设备的TCP中存在一些奇怪的情况)。