繁体   English   中英

如何使用Java程序监视Windows中的TCP统计信息

[英]how to Monitor tcp stats in windows with java program

我想通过JAVA程序监视系统中有多少个TCP连接。 在Linux中,有一个文件包含有关TCP连接的所有信息。 该文件的名称为/ proc / net / tcp。从该文件中,我可以监视该文件,但是在Windows中是否有类似的文件,以便可以监视该文件中的TCP数据。

您可以使用netstat命令。 您可以使用RunTime类从Java执行此命令

        { 
            Process p=Runtime.getRuntime().exec("cmd /c netstat"); 
            p.waitFor(); 
            BufferedReader reader=new BufferedReader(
                new InputStreamReader(p.getInputStream())
            ); 
            String line=reader.readLine(); 
            while(line!=null) 
            { 
                System.out.println(line); 
                line=reader.readLine(); 
            } 

        }

看来JMX正是您所需要的。 您没有指定所需的确切信息,但是JVM提供了许多现成的统计信息,包括文件描述符的使用情况。 您可能想首先使用JConsole进行探索- 是Oracle的JConsole简介。

编辑:虽然似乎没有任何标准方法来获取精确的TCP连接计数,但是有一种特定于Linux的方法来获取打开文件描述符的总数: OperatingSystem.OpenFileDescriptorCount属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM