Java网络编程常用类总结

一、InetAddress的两个子类     Inet4Address类和Inet6Address

       

       不同之处是:Inet6Address类比Inet4Address类多了一个方法isIPv4CompatibleAddress(),这个方法用来判断一个IPv6地址是否和IPv4地址兼容。

       判断一个InetAddress类是IPv4或IPv6的方法:

       (1). 根据getAddress()方法返回的byte数组的长度(长度为4则为IPv4,长度为16则为IPv6)来判断

       (2). 用instanceof来判断

InetAddress address = InetAddress.getByName("ZZQ");
		System.out.println("IP:" + address.getHostAddress());
		switch (address.getAddress().length) {
		case 4:
			System.out.println("根据byte数组长度判断这个IP地址是IPv4地址!");
			break;
		case 16:
			System.out.println("根据byte数组长度判断这个IP地址是IPv6地址!");
			break;
		}
		if (address instanceof Inet4Address)
			System.out.println("使用instanceof判断这个IP地址是IPv4地址!");
		else if (address instanceof Inet6Address)
			System.out.println("使用instanceof判断这个IP地址是IPv6地址!");

 

你可能感兴趣的:(java,编程)