【发布时间】:2010-11-09 06:17:16
【问题描述】:
在我的 Java 应用程序中,如何检测 Internet 连接速度有多快?例如,我在家里使用 AT&T Fast DSL,我想知道是否可以编写一个方法来执行以下操作:
int getInternetConnectionSpeed()
{
...
}
这将返回一个以 kbps 为单位的数字,例如 2800kbps [ 2.8 M ]
编辑: 我问的原因是在我的应用程序中,我可以打开多个 Internet 流,这取决于用户的 Internet 连接速度,我希望它自动确定打开多少流而不阻塞应用程序。
【问题讨论】:
-
我认为要让这真正发挥作用,您必须在测试的另一端有一台服务器,该服务器可以处理高于 AT&T 连接最大限制的速度...
-
即使您可以获得用户互联网的“官方”连接速度,但对于大多数实际情况来说,这个数字还是非常不准确。也许您应该重新考虑您需要这些信息的确切原因,并找到一种不同的方式来完成您真正想要做的任何事情。
-
您的“流”带宽是否受到限制,或者您最终会以尽可能快的速度下载 1 个流,而以尽可能快的速度下载 10 个流(在这种情况下,您几乎没有任何收获)
-
根据您的编辑,我认为您最好的选择是让 user 配置要使用的并行流的数量。我假设您正在做某种形式的文件共享应用程序?如果 BitTorrent 只是自动选择它允许多少传出或传入连接,你会有什么感觉?
标签: java connection performance