Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 检查linux的当前网络速度_Java_Linux - Fatal编程技术网

Java 检查linux的当前网络速度

Java 检查linux的当前网络速度,java,linux,Java,Linux,我试图获得当前的网络速度,如GNOME上的系统监视器所示。 我需要这是在终端,如果可能的话,没有安装需要在大多数发行版这个工具,我需要默认情况下应与系统一起安装 所以我不想ping任何类似的东西,我只想用最简单的方法检查速度,而不需要添加新的工具 我希望有一个工具可以在终端中显示信息,比如系统监视器->资源->网络历史 编辑: 如果Java中有一种解决方法,可以在不使用linux命令的情况下获取这些信息,这将非常好很难知道您已经在系统上安装了哪些工具。如果希望同时打印信息,我建议使用bmon、i

我试图获得当前的网络速度,如GNOME上的系统监视器所示。 我需要这是在终端,如果可能的话,没有安装需要在大多数发行版这个工具,我需要默认情况下应与系统一起安装

所以我不想ping任何类似的东西,我只想用最简单的方法检查速度,而不需要添加新的工具

我希望有一个工具可以在终端中显示信息,比如系统监视器->资源->网络历史

编辑:
如果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,我以后可能需要它