用getHostAddress方法获得IP地址

        这个方法用来得到主机的IP地址,这个IP地址可能是IPv4的地址,也可能是IPv6的地址。getHostAddress方法的定义如下:

public String getHostAddress()
        无论InetAddress 对象是使用哪种方式创建的,getHostAddress 方法都不会访问DNS 服务器。如果想访问使用IPv6 地址的远程主机,需要在操作系统上安装IPv6 协议。下面是Windows 2003 上安装IPv6 协议的步骤:
        第一步:打开“本地连接”属性对话框。

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

           除了使用图形化界面来安装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: " + ipv4Address3.getHostAddress());
        // 输出IPv6地址
        InetAddress ipv6Address1 = InetAddress.getByName("abcd:123::22ff");
        System.out.println("ipv6Address1: " + ipv6Address1.getHostAddress());
        InetAddress ipv6Address2 = InetAddress.getByName("www.neu6.edu.cn");
        System.out.println("ipv6Address2: " + ipv6Address2.getHostAddress());
        // 输出本机全部的IP地址
        InetAddress Addresses[] = InetAddress.getAllByName("myuniverse");
        for (InetAddress address : Addresses)
            System.out.println("本机地址:" + address.getHostAddress());
    }
}

           在上面代码使用了www.neu6.edu.cn作为域名,这个域名是东北大学用于测试IPv6地址的域名。

        在访问IPV6的域名之前,本机必须使用上述的方法或命令行安装IPv6,否则getByName方法将抛出UnknownHostException异常。

        运行结果:

ipv4Address1: 1.2.3.4
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.10192.10.10.10是和本机网卡绑定的两个IP,而192.168.83.1192.168.189.1VMware虚拟机软件在本机安装的两个虚拟网卡的地址。最后一个IPv6地址0:0:0:0:0:0:0:1是代表本机的IPv6网址,相当于IPv4地址的127.0.0.1。读者可以使用如下命令行添加IPv6地址和删除IPv6

1)添加IPv6地址

netsh interface ipv6 add address "本地连接" aa:bb::cc
2)删除IPv6地址

netsh interface ipv6 uninstall
注意:安装IPv6不需要重新启动计算机,但添加IPv6地址或删除IPv6后,必须重新启动计算机才能生效。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值