如何阻止多线程下载?

clo*_*man 5 steam

Steam 和 Microsoft Windows Store 等一些应用程序坚持采用多线程下载策略 - 当您下载应用程序或游戏时,它们会同时打开 10 个或更多连接。由于每个连接都到达一个强大的 CDN 服务器,这会对我的网络造成破坏,在游戏下载期间 ping 的数据包丢失率为 25%。

如果我从 Internet 下载常规文件,则丢包率为 0%。我可以限制 Steam 的下载速度,但不能限制它打开的连接数。这是一种耻辱,因为我可以只用 1 或 2 个线程来最大化我的连接,而不会减慢整个网络的速度。

有没有办法阻止 Windows 中的应用程序打开大量同时连接?我意识到这可能是一种黑客行为,可能会破坏应用程序的正常运行,但我愿意接受所有建议。如果也存在提供此功能的路由器选项,我也对此持开放态度。

重现该问题的一种方法是在 Steam 上下载一个免费玩的游戏并运行 ping 以监控数据包丢失。

Iro*_*ash 2

Steam 使用以下端口登录和下载内容:

HTTP(TCP 端口 80)和 HTTPS(443)

UDP 27015 至 27030

TCP 27015 至 27030

来源:https://support.steampowered.com/kb_article.php? ref=8571-GLVN-8711

您可以做的是通过路由器限制其中一些端口。因此,假设仅启用 27015 到 27020。这会将端口数量减少到最初尝试使用的端口数量的 33%。我不确定这实际上会如何破坏蒸汽,但如果它每个线程使用一个端口,这可能会解决您的问题或可能会破坏所有内容。

对于 Windows 应用商店应用程序,没有关于使用哪些端口的文档,但您可以使用 WireShark 之类的工具来查找并阻止其中一些端口。

或者,您可以直接进入 Steam 设置并设置下载速度,这将减少传入流量。再次对于 Windows 应用商店应用程序,不确定是否可以更改此设置。