如何在Java中实现ping IP地址?S1

2021年3月16日12:09:44 发表评论 1,390 次浏览

ping代表分组互联网收割机在计算机网络领域。这是一种计算机网络管理软件, 用于测试Internet协议(IP)网络上主机的可达性。它测量从始发主机发送到目标计算机并返回到源的消息的往返时间。

Ping通过向目标主机发送Internet控制消息协议(ICMP / ICMP6)回显请求数据包并等待ICMP回显应答来进行操作。该程序报告错误, 数据包丢失以及结果的统计摘要。

Internet控制消息协议(ICMP):

Internet控制消息协议(ICMP)支持

互联网协议套件

。它由路由器之类的网络设备用来发送错误消息和操作信息, 以指示服务请求是否可用或无法达到主机或路由器。

ICMP与传输协议(例如TCP和UDP)不同, 因为ICMP通常不用于在系统之间交换数据。

Java不支持ICMP并在Java中执行ping操作, 因为它依赖于ICMP

我们不能简单地在Java中执行ping操作, 因为它依赖于ICMP, 遗憾的是Java不支持

该Java程序使用以下命令ping Java中的IP地址InetAddress类。对于本地主机, 此操作成功, 但对于其他主机, 此程序显示该主机不可访问。

// 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

下一个 :在Java中ping IP地址|S2(通过创建子流程)

如果发现任何不正确的地方, 或者想分享有关上述主题的更多信息, 请写评论。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: