Question

I have a task to make a simple console pinger in Java. I tried the following code and I have 2 main issues.

First of all even if I am connected to the internet (I can ping from console any site), when I run the code returns false.

Second, is it possible to track the time of response of the ping?

Here is the code:

try {
    InetAddress address = InetAddress.getByName(the_link);
    System.out.println(the_link);
    // Try to reach the specified address within the timeout
    // periode. If during this periode the address cannot be
    // reach then the method returns false.
    boolean reachable = address.isReachable(5000);
    System.out.println("Is host reachable? " + reachable);
} catch (Exception e) {
    e.printStackTrace();
}
Was it helpful?

Solution

This is not a good one to use for most external ips. Instead following can be used

boolean reachable = (java.lang.Runtime.getRuntime().exec("ping -c 1 www.google.lk").waitFor()==0);
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top