本文为原创,如需转载,请注明作者和出处,谢谢!
上一篇:
Java网络编程从入门到精通(6):使用getCanonicalHostName方法获得主机名
这个方法用来得到主机的
IP
地址,这个
IP
地址可能是
IPv4
的地址,也可能是
IPv6
的地址。
getHostAddress
方法的定义如下:
无论
InetAddress
对象是使用哪种方式创建的,
getHostAddress
方法都不会访问
DNS
服务器。如果想访问使用
IPv6
地址的远程主机,需要在操作系统上安装
IPv6
协议。下面是
Windows 2003
上安装
IPv6
协议的步骤:
第一步:
打开
“
本地连接
”
属性对话框。如图1所示
。
第二步:
点击
“
安装
”
按钮,出现
“
选择网络组件类型
”
对话框,选择
“
协议
”
选项后,点击
“
添加
”
按钮,出现如图
2
的
“
选择网络协议
”
对话框,选择
“Microsoft TCP/IP
版本
6”
,最后点击
“
确定
”
按钮。
除了使用图形化界面来安装
IPv6
外,还可以使用如下命令行来安装
IPv6
:
下面的代码 演示了如何利用 getHostAddress 得到 IPv4 和 IPv6 地址,以及如何得到本机的所有 IP 地址(包括 IPv4 和 IPv6 地址)。
import java.net. * ;
public class MyIP
{
public static void main(String[]args) throws Exception
{
// 输出IPv4地址
InetAddressipv4Address1 = InetAddress.getByName( " 1.2.3.4 " );
System.out.println( " ipv4Address1: " + ipv4Address1.getHostAddress());
InetAddressipv4Address2 = InetAddress.getByName( " www.ibm.com " );
System.out.println( " ipv4Address2: " + ipv4Address2.getHostAddress());
InetAddressipv4Address3 = InetAddress.getByName( " myuniverse " );
System.out.println( " ipv4Address3: " + ipv4Address3.getHostAddress());
// 输出IPv6地址
InetAddressipv6Address1 = InetAddress.getByName( " abcd:123::22ff " );
System.out.println( " ipv6Address1: " + ipv6Address1.getHostAddress());
InetAddressipv6Address2 = InetAddress.getByName( " www.neu6.edu.cn " );
System.out.println( " ipv6Address2: " + ipv6Address2.getHostAddress());
// 输出本机全部的IP地址
InetAddressAddresses[] = InetAddress.getAllByName( " myuniverse " );
for (InetAddressaddress:Addresses)
System.out.println( " 本机地址: " + address.getHostAddress());
}
}
在上面代码
中
使用了
www.neu6.edu.cn
作为域名,这个域名是东北大学用于测试
IPv6
地址的域名。下面是其他一些可用于测试
IPv6
的域名,读者可以使用
ping
命令或例程
3-9
来测试这些域名。
www.jlu6.edu.cn(吉林大学)
www6.usst.edu.cn(上海理工大学)
www.fudan6.edu.cn(复旦大学)
在访问这些域名之前,本机必须使用上述的方法或命令行安装
IPv6
,否则
getByName
方法将抛出
UnknownHostException
异常。
运行结果:
ipv4Address2: 129.42.60.212
ipv4Address3: 192.168.18.10
ipv6Address1:abcd: 123 : 0 : 0 : 0 : 0 : 0 :22ff
ipv6Address2: 2001 :da8: 9000 :b255: 200 :e8ff:feb0:5c5e
本机地址: 192.168.18.10
本机地址: 192.168.83.1
本机地址: 192.168.189.1
本机地址: 193.10.10.10
本机地址: 0 : 0 : 0 : 0 : 0 : 0 : 0 : 1
在上面的运行结果中的
IP
地址
192.168.18.10
和
192.10.10.10
是和本机网卡绑定的两个
IP
,而
192.168.83.1
和
192.168.189.1
是
VMware
虚拟机软件在本机安装的两个虚拟网卡的地址。最后一个
IPv6
地址
0:0:0:0:0:0:0:1
是代表本机的
IPv6
网址,相当于
IPv4
地址的
127.0.0.1
。读者可以使用如下命令行添加
IPv6
地址和删除
IPv6
:
添加 IPv6 地址
删除 IPv6
注意:安装IPv6不需要重新启动计算机,但添加IPv6地址或删除IPv6后,必须重新启动计算机才能生效。
国内最棒的Google Android技术社区(eoeandroid),欢迎访问!
《银河系列原创教程》 发布
《Java Web开发速学宝典》 出版,欢迎定购