`
huazx123
  • 浏览: 23728 次
文章分类
社区版块
存档分类
最新评论

JAVA PING是否能通

 
阅读更多

package com.whqxj.messagesafe;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.InetAddress;
import java.net.UnknownHostException;

public class PingIp
{
  public String ping(String ip)
  {
    String rsStr = "";
    if (isPing(ip)) {
      System.out.println("isping成功!");
      String allStr = execPing(ip);
      String[] allStrArr = allStr.split("\r\n");
      String lastline = allStrArr[(allStrArr.length - 1)];
      String[] timeArr = lastline.split("=");
      String time = timeArr[(timeArr.length - 1)];
      time = time.replace("ms", "");
      time = time.replace(" ", "");
      rsStr = time;
    } else {
      System.out.println("isping失败!");
      rsStr = "-1";
    }
    return rsStr;
  }

  public boolean isPing(String ip)
  {
    boolean isFlow = false;
    try {
      isFlow = InetAddress.getByName(ip).isReachable(5000);
    } catch (UnknownHostException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }
    return isFlow;
  }

  public String execPing(String address)
  {
    String rsStr = "";
    try {
      Process p = Runtime.getRuntime().exec("ping " + address);
      byte[] msg = new byte['€'];
      int len;
      while ((len = p.getInputStream().read(msg)) > 0)
      {
        int len;
        System.out.print(new String(msg, 0, len));
        rsStr = rsStr + new String(msg, 0, len);
      }
      String rs = "\n";
      byte[] rb = { 10 };
      OutputStream os = p.getOutputStream();
      os.write(rb);
      os.close();
    } catch (Exception e) {
      e.printStackTrace();
    }
    return rsStr;
  }

  public static void main(String[] args) {
    PingIp pingIp = new PingIp();
    String msg = pingIp.ping("192.168.0.12");
    System.out.println(msg);
  }
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics