Last active
December 19, 2023 06:57
-
-
Save madan712/4509039 to your computer and use it in GitHub Desktop.
Java program to ping an IP address
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.io.BufferedReader; | |
import java.io.InputStreamReader; | |
public class PingIP { | |
public static void runSystemCommand(String command) { | |
try { | |
Process p = Runtime.getRuntime().exec(command); | |
BufferedReader inputStream = new BufferedReader( | |
new InputStreamReader(p.getInputStream())); | |
String s = ""; | |
// reading output stream of the command | |
while ((s = inputStream.readLine()) != null) { | |
System.out.println(s); | |
} | |
} catch (Exception e) { | |
e.printStackTrace(); | |
} | |
} | |
public static void main(String[] args) { | |
String ip = "google.com"; | |
runSystemCommand("ping " + ip); | |
} | |
} |
This works fine on Mac OS, however is there an additional command that needs to be called for Windows systems? Seems to fail on Windows.
I would do it in a different way:
public static void isReachable(String address) { try { InetAddress inetAddress = InetAddress.getByName(address); boolean isReachable = inetAddress.isReachable(5000); System.out.printf("Is the address [%s] reachable? -%s\n", address, isReachable ? "Yes" : "No"); } catch (Exception e) { e.printStackTrace(); } }
This is ICMP way. Unfortunately, it is not always available.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Exact same method, you'd just need to handle an event that triggers it and obviously the response. Let me know if you need more info!