在Java中Ping设备
我正在尝试使用Java中的IP地址ping设备,但我的代码返回在Java中Ping设备,java,networking,inetaddress,Java,Networking,Inetaddress,我正在尝试使用Java中的IP地址ping设备,但我的代码返回true,即使无法访问主机也是如此。我正在使用InetAddress类。这是我的密码: import java.io.IOException; import java.net.InetAddress; import java.net.UnknownHostException; public class JavaPinger //java class { public static void main(String[] arg
true
,即使无法访问主机也是如此。我正在使用InetAddress
类。这是我的密码:
import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class JavaPinger //java class
{
public static void main(String[] args)
{
System.out.println("Ping Poller Starts...");
String ipAddress = "192.168.43.34"; //Ip Address
try
{
if (!ipAddress.isEmpty())
{
InetAddress inet = InetAddress.getByName(ipAddress);// Can also use InetAddress.getByAddress but returns the same value
System.out.println("Sending Ping Request to " + ipAddress);
boolean status = inet.isReachable(5000); //Timeout = 5000 milli seconds
if (status)
{
System.out.println("Status : Host is reachable"+status);
}
else
{
System.out.println("Status : Host is not reachable");
}
}
}
catch (IOException e)
{
System.err.println("Error in reaching the Host");
}
}
}
您如何知道主机无法访问?代码似乎很好,并且在我的机器上也正常工作。请确保您知道是否可以通过命令提示符ping地址。form cmd我得到以下信息:ping 192.168.43.34从192.168.43.213回复:目标主机不可访问,但我的代码状态为true并返回可访问。您可以远程登录到192.168.43.34吗?或者在这样做时得到“连接被拒绝”
isReachable()
不使用ICMP,它使用TCP,因此结果不一定与ping
相同。为什么192.168.43.213是192.168.43.34的路由?您的代码不会返回任何内容。您的参数无效。您如何知道主机无法访问?代码似乎很好,并且在我的计算机上也正常工作。请确保您知道是否可以通过命令提示符ping地址。form cmd我得到以下信息:ping 192.168.43.34从192.168.43.213回复:目标主机不可访问,但我的代码状态为true并返回可访问。您可以远程登录到192.168.43.34吗?或者在这样做时得到“连接被拒绝”isReachable()
不使用ICMP,它使用TCP,因此结果不一定与ping
相同。为什么192.168.43.213是192.168.43.34的路由?您的代码不会返回任何内容。你的论点无效。