我试图获得当前的网络速度,如GNOME上的系统监视器所示。我需要这是在终端,如果可能的话,不需要安装(在大多数发行版上,我需要的这个工具应该在默认情况下与系统一起安装)。
所以我不想在没有新工具的情况下用最简单的方式来检查速度。
我希望有一个工具可以显示终端中的信息,比如系统监视器、->资源、->网络历史。
编辑:如果在Java中有一个不使用linux命令就可以获得这些信息的解决方案,那就太好了
发布于 2014-10-20 09:01:48
很难知道您已经在系统上安装了哪些工具。如果您希望在同一时间打印信息,我建议您使用bmon、ifstat或ifstat -S。
以上应该在您的发行版的中央存储库(智能,yum等),所以应该容易安装,如果他们不在那里。
发布于 2014-10-20 09:46:59
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命令,因此这是(我认为)您所能做的最好的。
https://stackoverflow.com/questions/26461607
复制相似问题