2011-05-06 32 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