📜  在Java中 Ping 一个 IP 地址 |设置 1

📅  最后修改于: 2022-05-13 01:55:46.373000             🧑  作者: Mango

在Java中 Ping 一个 IP 地址 |设置 1

PING代表计算机网络领域中的Packet InterNet Groper 。它是一种计算机网络管理软件,用于测试 Internet 协议 (IP) 网络上主机的可达性。它测量从源主机发送到目标计算机并回显到源的消息的往返时间。

Ping 通过向目标主机发送 Internet 控制消息协议 (ICMP/ICMP6) Echo Request 数据包并等待 ICMP Echo 回复来运行。该程序报告错误、数据包丢失和结果的统计摘要。

Internet 控制消息协议 (ICMP): Internet 控制消息协议 (ICMP) 支持Internet 协议组中的协议。路由器等网络设备使用它来发送错误消息和操作信息,指示服务请求是否可用或无法访问主机或路由器。
ICMP 与 TCP 和 UDP 等传输协议的不同之处在于它通常不用于在系统之间交换数据。
Java不支持 ICMP, Java不支持 ping,因为它依赖于 ICMP
我们不能简单地在Java中 ping,因为它依赖于 ICMP,遗憾的是Java不支持它

这个Java程序使用 InetAddress 类在Java中 ping 一个 IP 地址。在本地主机的情况下成功,但对于其他主机,此程序显示主机不可访问。

// Java Program to Ping an IP address
import java.io.*;
import java.net.*;
  
class NewClass
{
  // Sends ping request to a provided IP address
  public static void sendPingRequest(String ipAddress)
              throws UnknownHostException, IOException
  {
    InetAddress geek = InetAddress.getByName(ipAddress);
    System.out.println("Sending Ping Request to " + ipAddress);
    if (geek.isReachable(5000))
      System.out.println("Host is reachable");
    else
      System.out.println("Sorry ! We can't reach to this host");
  }
  
  // Driver code
  public static void main(String[] args)
          throws UnknownHostException, IOException
  {
    String ipAddress = "127.0.0.1";
    sendPingRequest(ipAddress);
  
    ipAddress = "133.192.31.42";
    sendPingRequest(ipAddress);
  
    ipAddress = "145.154.42.58";
    sendPingRequest(ipAddress);
  }
}

输出 :

Sending Ping Request to  127.0.0.1
Host is reachable
Sending Ping Request to  133.192.31.42
Sorry! We can't reach to this host
Sending Ping Request to  145.154.42.58
Sorry! We can't reach to this host

Next :在Java中 Ping 一个 IP 地址 | Set 2(通过创建子流程)