Java网络编程从入门到精通(7):用getHostAddress方法获得IP地址

2014-11-23 23:56:55 · 作者: · 浏览: 0
这个方法用来得到主机的IP 地址,这个IP 地址可能是IPv4 的地址,也可能是IPv6 的地址。getHostAddress 方法的定义如下:
public String getHostAddress()

无论InetAddress对象是使用哪种方式创建的,getHostAddress方法都不会访问DNS服务器。如果想访问使用IPv6地址的远程主机,需要在操作系统上安装IPv6协议。下面是Windows 2003上安装IPv6协议的步骤:

第一步:打开本地连接属性对话框。如图1所示

\

图1 “本地连接”属性对话框


第二步:点击安装按钮,出现选择网络组件类型对话框,选择协议选项后,点击添加按钮,出现如图2选择网络协议对话框,选择“Microsoft TCP/IP 版本6”,最后点击确定按钮。

\

图2 “选择网络协议”对话框

除了使用图形化界面来安装IPv6外,还可以使用如下命令行来安装IPv6

netsh interface ipv6 install

下面的代码演示了如何利用getHostAddress得到IPv4IPv6地址,以及如何得到本机的所有IP地址(包括IPv4IPv6地址)。

package mynet;

import java.net. * ;

public class MyIP
{
public static void main(String[] args) throws Exception
{
// 输出IPv4地址
InetAddress ipv4Address1 = InetAddress.getByName( " 1.2.3.4 " );
System.out.println(
" ipv4Address1: " + ipv4Address1.getHostAddress());
InetAddress ipv4Address2
= InetAddress.getByName( " www.ibm.com " );
System.out.println(
" ipv4Address2: " + ipv4Address2.getHostAddress());
InetAddress ipv4Address3
= InetAddress.getByName( " myuniverse " );
System.out.println(
" ipv4Address3: "