El método de Java llamando a ping y el uso de la clase InetAddress

Java proporciona el paquete java.net para la red. Las clases como URL y URLConnection bajo el paquete proporcionan las funciones de los servicios web a los que se ha accedido mediante programación.
Java proporciona la clase InetAddress para representar la dirección IP.
IntetAddress no tiene un constructor, pero proporciona los siguientes dos métodos estáticos para obtener una instancia de IntAddress.

  1. getByName (): Obtiene el objeto InetAddrress correspondiente según el host.
  2. getByAddress (): obtiene el objeto InetAddress () correspondiente de acuerdo con la dirección IP original
  3. Proporciona tres métodos para obtener la dirección IP y el nombre de host correspondiente a la instancia de InetAddress:
    ①String getCanonicalHostName (): se usa para obtener un nombre de host en la red de área local
    ②String getHostAddress (): obtiene la cadena de la dirección IP
    ③String getHostName (): get El alias de host
    InetAddress de la dirección IP también proporciona un método isReachable (tiempo de espera) para probar si se puede alcanzar la dirección (host). El firewall o la configuración del servidor pueden bloquear la solicitud.
    Fragmento de código
  import java.net.InetAddress;

public class ping {
    public static void main(String[] args) {
        try {
            //通过InetAddress类访问主机名,ip地址
            InetAddress indress = InetAddress.getByName("www.baidu.com");//获取对应Ip的inetAddress对象 存储了IP的主机名和ip地址
            String hostName = indress.getHostName();                //获取主机名
            String hostAddress = indress.getHostAddress();          //获取ip地址
            String hostAddress1 = indress.getCanonicalHostName();   //获取ip地址
            System.out.println(hostAddress1);                      //输出ip地址
            System.out.println(indress);                           //输出主机名/ip地址
            System.out.println(hostName);                          //输出主机名
            System.out.println(hostAddress);                      //输出ip地址
            System.out.println("----------------");
            //获取本机地址
            InetAddress localHost = InetAddress.getLocalHost();    //获取本机地址
            String hostName1 = localHost.getHostName();
            String hostAddress2 = localHost.getHostAddress();
            String canonicalHostName = localHost.getCanonicalHostName();
            System.out.println(hostName1);
            System.out.println(hostAddress2);
            System.out.println(canonicalHostName);
            System.out.println("----------------");
            //通过ip获取InetAddress实例获取对应ip地址的信息
            InetAddress byAddress = InetAddress.getByAddress(new byte[]{127,0,0,1});
            System.out.println("ip的主机: "+byAddress.getHostName()+"   ip的ip: "+byAddress.getHostAddress());
            System.out.println("----------------");
           //返回sougou连接结果
            boolean ping = ping("www.sogou.com");
            System.out.println(ping);

        } catch (Exception e) {
            System.out.println("这个ip地址不可用");
            e.printStackTrace();

        }
    }
    public static boolean ping(String ipAddress) throws Exception {
        int  timeOut =  3000 ;  //超时应该在3钞以上
        //isReachable(timeout)的方法,用于测试是否可以到达该地址(主机)
        boolean status = InetAddress.getByName(ipAddress).isReachable(timeOut);
        // 当返回值是true时,说明host是可用的,false则不可。
        return status;
    }
}

Supongo que te gusta

Origin blog.csdn.net/ssdssa/article/details/110100394
Recomendado
Clasificación