我有两台机器 A1 和 A2,它们都运行相同的嵌入式代码,它们广播数据包。第三台机器 B3 是一个运行 C# (.NET 4.0) 应用程序的 Windows XP 机器,它监听这些广播。
来自 A1 的所有数据都按预期由 C# 接收,来自 A2 的 95% 的数据是通过间歇性的、看似随机的、丢失的 UDP 数据报接收的。
当我在 B3 上查看 wireshark 时,来自两台机器的所有数据包都完全按预期到达,但是当我在收到字节后立即将字节转储到文本文件时,我发现来自 B2 的数据报丢失了。
一个数据包怎么会显示在 Wireshark 上,但有时不会传递给我的 C# 应用程序?我可以理解数据报是否有错误的标头等,但是 Wireshark 会按预期显示所有内容,即使对于这些丢失的内容也是如此。Windows / .NET 是否会执行一些默认情况下 Wireshark 不执行的检查?