java InetAddress 用于指定 IP 地址。 IP 地址是分配给网络中机器的唯一数字标签。对于 IPv4,IP 地址指定为 32 位;对于 IPv6 地址,指定为 128 位。 InetAddress 的实例根据创建期间是否执行主机名解析来指定作为主机名的 IP 地址。地址有两种类型:单播和组播。单个接口由单播地址标识,一组接口由多播地址标识。
开始您的免费软件开发课程
网络开发、编程语言、软件测试及其他
java中的InetAddress类内置于java的java.net.InetAddress包中。
InetAddress 类可用于获取任何主机的 IP 地址,例如 www.educba.com、www.google.com 等。常用的 IP 地址是 IPv4,即“版本 4”。考虑一个 IP 地址的示例,它可能看起来像 –
65.172.248.170
上面的地址包含四个数字,每个数字由三个数字组成,并以“.”(单点)分隔。这四个数字的范围是 0 到 255。
InetAddress 类不包含任何构造函数,但包含一些函数作为 InetAddress 类成员函数。
成员Java 函数InetAddress 类 –
接下来,我们编写 java 代码来更清楚地理解 InetAddress 类,在下面的示例中,我们使用上面讨论的 URL 和该对象中的一些函数创建一个 InetAddress 对象 –
代码:
import java.io.IOException; import java.util.Arrays; import java.net.InetAddress; public class Demo { public static void main( String[] arg) throws IOException { InetAddress ip = InetAddress.getByName("www.educba.com"); byte addr[] = { 65, 2, 0, 1}; System.out.print("iptoString : " + ip.toString()); System.out.print("\ngetAllByName : " + ip.getAllByName("www.educba.com")); InetAddress ips[] = InetAddress.getAllByName("www.educba.com"); System.out.println("IP Address"); for (InetAddress add:ips) System.out.println(add.getHostAddress()); // function getByName() System.out.print("\ngetByName : " + ip); // function getByAddress() System.out.print("\ngetByAddress : " +InetAddress.getByAddress(addr)); // function getLocalHost() System.out.print("\ngetLocalHost : " +InetAddress.getLocalHost()); // function getLoopbackAddress() System.out.print("\ngetLoopbackAddress : " +InetAddress.getLoopbackAddress()); // function getAllByName() which returns all ip addresses of google.com System.out.print("\nGoogleip addresses : " + Arrays.toString(InetAddress.getAllByName("www.google.com"))); // function isReachable() System.out.print("\nip address isReachable : " +ip.isReachable(50)); // function getHostname() System.out.print("\nip address hostname :" +ip.getHostName()); // function getCanonicalHostname() System.out.print("\nip address CanonicalHostname : " + ip.getCanonicalHostName()); } }
输出:
接下来,我们为 InetAddress 类编写 java 代码,其中我们在 InetAddress 对象上应用剩余的布尔函数 –
代码:
import java.net.Inet4Address; import java.util.Arrays; import java.net.InetAddress; public class Demo { public static void main(String[] arg) throws Exception { InetAddress ip = Inet4Address.getByName("www.educba.com"); InetAddress ip1[] = InetAddress.getAllByName("www.educba.com"); byte addr[]={68, 5, 2, 12}; System.out.println("ip : "+ip); System.out.print("\nip1 : "+ip1); InetAddress ip2 = InetAddress.getByAddress(addr); System.out.print("\nip2 : "+ip2); System.out.print("\nAddress : " +Arrays.toString(ip.getAddress())); System.out.print("\nHost Address : " +ip.getHostAddress()); System.out.print("\nisAnyLocalAddress : " +ip.isAnyLocalAddress()); System.out.print("\nisLinkLocalAddress : " +ip.isLinkLocalAddress()); System.out.print("\nisLoopbackAddress : " +ip.isLoopbackAddress()); System.out.print("\nisMCGlobal : " +ip.isMCGlobal()); System.out.print("\nisMCLinkLocal : " +ip.isMCLinkLocal()); System.out.print("\nisMCNodeLocal : " +ip.isMCNodeLocal()); System.out.print("\nisMCOrgLocal : " +ip.isMCOrgLocal()); System.out.print("\nisMCSiteLocal : " +ip.isMCSiteLocal()); System.out.print("\nisMulticastAddress : " +ip.isMulticastAddress()); System.out.print("\nisSiteLocalAddress : " +ip.isSiteLocalAddress()); System.out.print("\nhashCode : " +ip.hashCode()); System.out.print("\n Is ip1 == ip2 : " +ip.equals(ip2)); } }
输出:
InetAddress 是 java 中的内置类,可在 java.net.InetAddress 包中使用。它用于指定网络中机器的IP地址。我们讨论的上述方法可用于获取有关 IP 地址的更多信息。
以上是Java Inet地址的详细内容。更多信息请关注PHP中文网其他相关文章!