如何阻止多執行緒下載?

如何阻止多執行緒下載?

Steam 和 Microsoft Windows Store 等一些應用程式堅持採用多執行緒下載策略 - 當您下載應用程式或遊戲時,它們會同時打開 10 個或更多連線。由於每個連線都會到達功能強大的 CDN 伺服器,這會對我的網路造成破壞,在遊戲下載過程中 ping 封包丟失 25%。

如果我從網路下載常規文件,封包遺失率為 0%。我可以限制 steam 的下載速度,但不能限制它開啟的連線數。這是一種恥辱,因為我可以只使用 1 或 2 個線程來最大化連接,而不會減慢整個網路的速度。

有沒有辦法阻止 Windows 中的應用程式同時開啟大量連線?我意識到這可能是一種駭客行為,可能會破壞應用程式的正常功能,但我願意接受所有建議。如果也存在提供此功能的路由器選項,我也對此持開放態度。

重現問題的一種方法是在 Steam 上下載免費遊戲並執行 ping 來監控資料包遺失。

答案1

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。我不確定這實際上會如何破壞蒸汽,但如果它每個線程使用一個端口,這可能會解決您的問題或可能會破壞所有內容。

對於 Windows 應用商店應用程序,沒有關於使用哪些連接埠的文檔,但您可以使用 WireShark 之類的工具來查找並阻止其中一些連接埠。

或者,您可以直接進入 Steam 設定並設定下載速度,這將減少傳入流量。再次對於 Windows 應用商店應用程序,不確定是否可以更改此設定。

相關內容