如何在Java中以编程方式测量系统网络使用情况?

时间:2013-09-08 22:45:15

标签: java networking monitoring

我想获取主机的完整网络使用率,即当前的上传和下载速率。我怎么能用Java做到这一点?如果它更容易,假设平台是Linux。

2 个答案:

答案 0 :(得分:2)

  

我怎么能用Java做到这一点?

在Java中执行此操作是个坏主意...除非强烈要求在更大的Java应用程序中提供信息。

  • 您无法在 Java中执行此操作。没有用于访问此类信息的标准Java API。

  • 我用Google搜索了符合您要求的特定Java和免费内容,但没有发现任何内容。 (YMMV ......请随意重复搜索!)。

  • 有用于查看网络统计数据的操作系统特定工具,可以尝试将这些工具作为Java的外部进程运行并“刮擦”输出。但这必然是OS /工具特定的。

  • 您可以尝试复制这些工具在Java中的功能,但可能涉及本机库调用,并且当然是特定于操作系统的。 (在Linux上,您可以通过阅读/proc文件系统来获取所需信息......但也可能存在访问控制问题。)

答案 1 :(得分:0)

Nethogs:http://nethogs.sourceforge.net/可能是您正在寻找的工具。

大多数人都喜欢这样,因为它会按流程分割带宽。