我想获取主机的完整网络使用情况,即当前的上传和下载速率。我怎样才能在 Java 中做到这一点?如果它使这更容易,假设平台是 Linux。
问问题
2330 次
2 回答
2
我怎样才能在 Java 中做到这一点?
在 Java 中这样做是个坏主意……除非强烈要求在更大的 Java 应用程序中包含信息。
你不能在纯Java中做到这一点。没有用于访问此类信息的标准 Java API。
我在 Google 上搜索了符合您要求的特定于 Java 的免费内容,但没有发现任何内容。(YMMV ...请随时为自己重复搜索!)。
有一些特定于操作系统的工具可用于查看网络统计信息等,并且可以尝试将这些工具作为 Java 的外部进程运行并“抓取”输出。但这必然是特定于操作系统/工具的。
您可以尝试复制这些工具在 Java 中所做的事情,但这可能涉及本机库调用,并且肯定是特定于操作系统的。(在 Linux 上,您可以通过从
/proc
文件系统中读取来获取所需的信息……但也可能存在访问控制问题。)
于 2013-09-09T00:02:33.223 回答
0
Nethogs:http ://nethogs.sourceforge.net/可能是您正在寻找的工具。
大多数人更喜欢这个,因为它按进程划分带宽使用。
于 2013-09-08T22:59:16.790 回答