我正在尝试获取当前网络速度,如GNOME上的System Monitor中所示。 我需要这个在终端,如果可能的话,不需要安装(在大多数发行版中,我需要的这个工具应该默认安装在系统中)。
所以我不想ping任何东西或类似东西,我只想以最简单的方式检查速度而不添加新工具。
我希望有一个工具可以在终端中显示信息,如System Monitor - >资源 - >网络历史。
编辑: 如果在Java中有一个解决方法来获取这些信息而不使用linux命令,这将是很好的
答案 0 :(得分:0)
很难知道您已在系统上安装了哪些工具。如果您希望同时打印信息,我建议您bmon
,ifstat
或ifstat -S
。
上面应该在您的发行版的中央存储库(aptitude,yum等)中,如果它们不在那里应该很容易安装。
答案 1 :(得分:-1)
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命令,所以这是(我认为)你能做的最好的。