我想获取主机的完整网络使用率,即当前的上传和下载速率。我怎么能用Java做到这一点?如果它更容易,假设平台是Linux。
答案 0 :(得分:2)
我怎么能用Java做到这一点?
在Java中执行此操作是个坏主意...除非强烈要求在更大的Java应用程序中提供信息。
您无法在纯 Java中执行此操作。没有用于访问此类信息的标准Java API。
我用Google搜索了符合您要求的特定Java和免费内容,但没有发现任何内容。 (YMMV ......请随意重复搜索!)。
有用于查看网络统计数据的操作系统特定工具,可以尝试将这些工具作为Java的外部进程运行并“刮擦”输出。但这必然是OS /工具特定的。
您可以尝试复制这些工具在Java中的功能,但可能涉及本机库调用,并且当然是特定于操作系统的。 (在Linux上,您可以通过阅读/proc
文件系统来获取所需信息......但也可能存在访问控制问题。)
答案 1 :(得分:0)
Nethogs:http://nethogs.sourceforge.net/可能是您正在寻找的工具。
大多数人都喜欢这样,因为它会按流程分割带宽。