程序如何根据连接类型(Wifi 或 LAN)表现出不同的行为?

程序如何根据连接类型(Wifi 或 LAN)表现出不同的行为?

首先我想说的是,我并没有真正遇到需要解决的问题。更像是我遇到了一个小问题,可以通过一些小事情来解决,但我只是好奇这种问题怎么会发生。我希望这是这个问题的正确答案!也可以自由地猜测,因为我认为不可能确定正确的答案,但任何答案都可能具有教育意义!

更详细地说:我遇到问题的具体程序是我电脑上的 Spotify 程序。我的房间 Wifi 非常差,所以我使用以太网电缆将电脑连接到 LAN。但 Wifi 仍然可以访问,只是非常差。我电脑上的每个程序(Firefox、Mail、Telegram、一些其他即时通讯程序......)使用 LAN 都没有问题(我猜,因为它们可以工作)。只有 Spotify 程序的互联网非常差,有超时,告诉我它没有互联网连接......就像它连接到 Wifi 而不是 LAN 连接一样。所以我的假设是:我电脑上的每个程序都设法使用好的LAN 连接,而不是坏的无线网络连接。

我之前说过,我不需要帮助来解决这个问题:禁用 Wifi 然后重新启动 Spotify 对我来说很有效。然而,在研究这个问题时,我发现 Spotify 程序似乎存在一个普遍问题,即 Wifi 比 LAN 更稳定。例如此 Spotify 社区主题人们已经遇到这个问题很多年了。所以我认为我不是在想象,而是 Spotify 程序特有的普遍问题。

接下来是我的实际问题:怎么会这样?为什么操作系统不管理每个程序使用的互联网连接?我本以为大多数使用互联网的程序与网络方面的互动并不多(或根本没有)。此外,LAN 和 Wifi 连接在哪些方面不同,以至于 LAN 连接可以更少稳定的,就像社区帖子中所说的那样。

提前感谢您的回答!:)

答案1

您所描述的情况可能发生的一种情况是,Spotify 保持 TCP 连接(或 UDP 套接字)在您的机器通过 Wi-Fi 获得的 IP 地址上打开。由于它与仅在 Wi-Fi 中的 IP 地址相关联,因此操作系统无法自动将其切换到以太网接口的 IP 地址,因为这会中断连接或流量。

如今,大多数应用程序都不会保持长期会话处于打开状态;大多数应用程序仅在需要更多数据时才发出 HTTP 请求。因此,只要以太网接口启动,任何新的 HTTP 请求都会通过以太网进行。

我从未在数据包分析器(嗅探器)中查看过 Spotify 流量,所以我不能肯定地说这就是正在发生的事情,但它可以解释您所看到的行为。

答案2

Windows 没有管理程序的互联网连接。程序会发出 API 请求,其中指定其请求的连接类型。

没有什么可以阻止像 Spotify 这样的程序发出 WiFi 连接请求,并且只有当这不起作用时才会发出第二个请求来要求 LAN 连接。

我并不是说 Spotify 确实做了这件事,但从各方面来看,它的连接代码编写得相当糟糕。

相关内容