zoukankan      html  css  js  c++  java
  • 使用java发送ping命令

    在项目中需要测试网络状况,决定用ping命令来查看当前的网络情况,起初手动输入ping命令。

    随后要增加设备并长期监测网络状态,这样显然不能在手动了,对cmd的脚本也不熟练,决定还是使用java。

    查了一下,果然使用java是没问题的。

    查了一下,大家有 很多方式去实现。有人自己根据ICMP协议去,自己做了一个ping,有人通过jdk中已经封装好了的方法去实现,我决定还是直接调用jdk中去调用控制台发送ping命令。

    第一种:

        @Test
        public void test01() {
            //查看一下当前系统的编码方式
            //因为是调用系统的ping命令 返回结果是使用系统的编码的
            System.out.println(System.getProperty("sun.jnu.encoding"));;
    
            String line = null;
            try {
                Process pro = Runtime.getRuntime().exec("ping " + "192.168.1.101 -n 5");
                BufferedReader buf = new BufferedReader(new InputStreamReader(
                        pro.getInputStream(),"GBK"));
                while ((line = buf.readLine()) != null)
                    System.out.println(line);
            } catch (Exception ex) {
                System.out.println(ex.getMessage());
            }
        }
    

    第二种:

    
        @Test
        public void test02() {
            try {
                InetAddress host = InetAddress.getByName("192.168.1.101");
                //3000 为超时时间
                boolean reachable = host.isReachable(3000);
                System.out.println(reachable);
            } catch (IOException e) {
    
            }
        }
    
  • 相关阅读:
    Java的Set集合中的retainAll()方法
    蒲丰投针问题
    根据贝叶斯公式求解三门问题
    概率论公式(续)
    数字(number)
    寻找最美的你(select)
    木棍
    lowbit
    搜索题
    day7
  • 原文地址:https://www.cnblogs.com/dingzuoheng/p/12805061.html
Copyright © 2011-2022 走看看