Suppose I have the IP stored in a String:
String ip = "192.168.2.1"
开发者_开发技巧and I want to get the byte array with the four ints. How can I do it? Thanks!
Something like this:
InetAddress ip = InetAddress.getByName("192.168.2.1");
byte[] bytes = ip.getAddress();
for (byte b : bytes) {
System.out.println(b & 0xFF);
}
Each number is a byte, so in your case the appropriate byte[] would be { 192, 168, 2, 1 }.
To be more specific, if you have the string, you first have to split it by the "."s and then parse a byte from each resulting string.
This works well for me (Kotlin):
open fun reachable(host: String?): Boolean { // 'host' is string, e.g., "177.111.155.11"
return try {
val ipAddress = InetAddress.getByName(host) // get IP address
ipAddress.isReachable(2000) // Is it reachable? T or F
} catch (e: IOException) {
CoroutineScope(Main).launch {
myNote("MyWX LAN Reachable Error", e.message!!) // Display error
}
false
}
}
精彩评论