首页 > Web开发 > 详细

2、Internet地址(下)

时间:2019-05-23 14:20:38      阅读:121      评论:0      收藏:0      [点我收藏+]

 

测试可达性

 

InerAddress类有两个isRechable()方法

可以测试一个特定的节点对向前主机是否可以建立一个网络连接 

 

无法连接可能由于阻塞、防火墙等因素

技术分享图片

第一个方法:在指定的时间内得到相应则返回为true

第二个方法:允许指定从那个本地网络接口建立连接,以及生存时间

        InetAddress byName = InetAddress.getByName("www.baidu.com");
        System.out.println(byName.toString());
        System.out.println(byName.isReachable(1000));

 技术分享图片

 

 

Inet4Address和Inet6Address

 使用以上两个类进行区分IPv4和IPv6地址

技术分享图片

 

其实可以使用getAddress()返回字节数组的大小进行区分

 

Inet4Address覆盖了InetAddress的几个方法,没有改变任何公共方式改变其行为

 

Inet6Sddress添加了一个新的方法:

技术分享图片

当且仅当地址实际上是填充在IPv6“容器”中的一个IPv4地址时,这个方法返回为true

 

NetworkInterface类

表示一个本地的IP地址

可以是一个物理接口,也可以是一个虚拟接口,与机器其他IP地址绑定到同一个物理硬件

 

提供的一些方法可以枚举所有本地地址

并由他们创建对象

这些InetAddress对象可用于创建socket服务器socket等

 

技术分享图片

返回一个NetworkInterface对象

表示指定名字的网络接口

如果没有这个接口将会返回null

        NetworkInterface wlan = NetworkInterface.getByName("wlan3");
        System.out.println("wlan:" + wlan);

技术分享图片

 

 技术分享图片

返回一个NetworkInterface对象

表示指定IP地址绑定的网络接口

如果主机上没有网络接口与这个IP地址绑定返回为null

        InetAddress byName3 = InetAddress.getByName("127.0.0.1");
        NetworkInterface in = NetworkInterface.getByInetAddress(byName3);
        System.out.println(in);

技术分享图片

 

 技术分享图片

返回一个java.util.Enumeration

这个列出本地主机上的所有网络接口

   Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();

        while (networkInterfaces.hasMoreElements()){
            NetworkInterface net = networkInterfaces.nextElement();
            System.out.println(net);
        }

 

技术分享图片

一个网络接口可以绑定多个ip

该方法可以返回一个java.util.Enumeration

对于这个接口绑定的每一个IP弟子都包含了一个InetAddress

        NetworkInterface wlan = NetworkInterface.getByName("wlan3");
        Enumeration<InetAddress> inetAddresses = wlan.getInetAddresses();
        while (inetAddresses.hasMoreElements()){
            InetAddress address = inetAddresses.nextElement();
            System.out.println(address);
        }

 技术分享图片

 

 技术分享图片

返回某个特定特定的NetworkInterface对象名

 

技术分享图片

 返回特定NetworkInterface的一个更友好的名字

        NetworkInterface wlan = NetworkInterface.getByName("wlan3");
        String displayName = wlan.getDisplayName();
        System.out.println(displayName);

 技术分享图片

 

2、Internet地址(下)

原文:https://www.cnblogs.com/Mrchengs/p/10911410.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!