2

我有一个网站说 somthing.com 是用 spring MVC 开发的,一个客户端桌面应用程序是用 Swing Java 开发的。我想从服务器 URL 下载批量图像。

somthing.com/resourse/webfiles/imgs/1.jpg
somthing.com/resourse/webfiles/imgs/2.jpg
somthing.com/resourse/webfiles/imgs/3.jpg
...
somthing.com/resourse/webfiles/imgs/n.jpg

出于测试目的,我在几台 PC 上安装了客户端,并对服务器进行了命中但平均。下载 1800 张图片/PC 需要 20 分钟。

有没有更快的方法来做到这一点?

当前的代码/登录步骤是......(抱歉没有给出实际代码......)

  • 请求图像 URL。
  • 在输出流中获取响应。
  • 然后获取字节并将其循环以将图像写入物理位置。
4

1 回答 1

0

如果您有权访问服务器,只需将文件复制到 USB 拇指驱动器,然后将它们复制到每台电脑。这可能会快得多。

实际上,我会假设您的方法是客户端 pc 和服务器之间的带宽是限制,而不是您的代码。

潜在地,它可以帮助做一些多线程。但是如果网络带宽是限制,我认为这不会使吞吐量增加超过百分之几。

您可以通过此计算快速检查是否有任何改进潜力:您的连接带宽是多少,这与 20 分钟内传输的总字节数相比如何?为简单起见,我将计算 10 位到一个字节的实际传输数据,以处理协议开销。

于 2013-08-23T20:20:16.767 回答