Java 检查linux的当前网络速度
我试图获得当前的网络速度,如GNOME上的系统监视器所示。 我需要这是在终端,如果可能的话,没有安装需要在大多数发行版这个工具,我需要默认情况下应与系统一起安装 所以我不想ping任何类似的东西,我只想用最简单的方法检查速度,而不需要添加新的工具 我希望有一个工具可以在终端中显示信息,比如系统监视器->资源->网络历史 编辑:Java 检查linux的当前网络速度,java,linux,Java,Linux,我试图获得当前的网络速度,如GNOME上的系统监视器所示。 我需要这是在终端,如果可能的话,没有安装需要在大多数发行版这个工具,我需要默认情况下应与系统一起安装 所以我不想ping任何类似的东西,我只想用最简单的方法检查速度,而不需要添加新的工具 我希望有一个工具可以在终端中显示信息,比如系统监视器->资源->网络历史 编辑: 如果Java中有一种解决方法,可以在不使用linux命令的情况下获取这些信息,这将非常好很难知道您已经在系统上安装了哪些工具。如果希望同时打印信息,我建议使用bmon、i
如果Java中有一种解决方法,可以在不使用linux命令的情况下获取这些信息,这将非常好很难知道您已经在系统上安装了哪些工具。如果希望同时打印信息,我建议使用bmon、ifstat或ifstat-S
上述内容应位于发行版的中央存储库aptitude、yum等中,因此如果它们不在那里,则应易于安装。Java类InetAddress有一个isReachable方法。你可以试试这个:
public long getSpeed() {
InetAddress inet = InetAddress.getByName("stackoverflow.com");
long start = System.currentTimeMillis();
boolean reachable = inet.isReachable(5000);
if (reachable) {
long end = System.currentTimeMillis();
return end - start;
} else {
return -1;
}
}
这将“某种程度上”执行ping,但isReachable方法的实现方式并未真正指定。但是,不支持从Java本身执行实际的ping命令,因此,我认为这是您能做到的最好的方法。希望避免使用我需要安装的工具,但ok ifstat-S将起作用,因为目前没有解决方法,而且此工具提供的信息比其他工具少。这不是我要找的解决方案,但例如thx,我以后可能需要它