2011-05-06 46 views
1

目前我有一個java下載器下載一個.zip文件並解壓縮,但主機有一個8mb的下載速度限制。所以,由於帶寬問題,如果有超過10人同時下載該文件(大約30MB),它會導致下載速度急劇下降,導致它從耗時2分鐘減少到10小時Java下載防洪

無論如何,這裏是下載代碼

BufferedInputStream in = new BufferedInputStream(new java.net.URL(
"http://example.com/exampleJar.jar").openStream()); 
FileOutputStream fos = new FileOutputStream("exampleJar.jar"); 
BufferedOutputStream bout = new BufferedOutputStream(fos); 

我想,也許是一個方法來檢查有多少人下載它,如果人X量正在下載,切換到不同的鏈路可能在鏈接的陣列中找到。

+0

這會工作 - 問題是什麼? – 2011-05-06 02:00:29

回答

2

這應該在服務器端進行,而不是客戶端

取決於u使用什麼樣的服務器中,找到一個方法來計算當前運行的請求

如果超過你的預設值

發送HTTP 302 HTTP暫時移動,並給另一個下載網址

http://download2.example.com/exampleJar.jar