• java--网络编程-基础知识


    java为网络支持提供了java.net包,该包下的URL和URLConnection等类提供了以编程方式访问Web服务的功能,而URLDecoder和URLEncoder则提供了普通字符串和appliction/x-www-form-urlencoded MIME 字符串相互转换的静态方法。

    使用InetAddress类(实现的接口是Serializable序列化接口):

    java提供了InetAddress类代表IP地址,InetAddress下还有两个子类:Inet4Address、Inet6Address,他们分别代表IPv4和IPv6地址。

    InetAddress没有提供构造器,而是提供了如下两个静态方法来获取InetAddress实例。

    1、getByName(String host):根据主机获取对应的InetAddress对象。

    2、getByAddress(byte[] addr):根据原始IP地址来获取对应的InetAddress对象。

    static InetAddress[] getAllByName(String host) 
              在给定主机名的情况下,根据系统上配置的名称服务返回其 IP 地址所组成的数组。
    static InetAddress getByAddress(byte[] addr) 
              在给定原始 IP 地址的情况下,返回 InetAddress 对象。
    static InetAddress getByAddress(String host, byte[] addr) 
              根据提供的主机名和 IP 地址创建 InetAddress。
    static InetAddress getByName(String host) 
              在给定主机名的情况下确定主机的 IP 地址。

    InetAddress还提供了如下三个方法来获取InetAddress实例对应的IP地址和主机名。

    1、String getCanonicalHostName():获取此IP地址的全限定域名。

    2、String getHostAddress():返回该InetAddress实例对应的IP地址字符串(以字符串形式).

    3、String getHostName():获取此IP地址的主机名。

    除此之外,InetAddress类还提供了一个getLocalHost()方法来获取本机IP地址对应的InetAddress实例。

    InetAddress类还提供了一个isReachable()方法,用于测试是否可以到达该地址,该方法将尽最大努力试图到达主机。

     1 import java.net.InetAddress;
     2 public class InetAddressClass
     3 {
     4     public static void main(String[] arg) throws Exception{
     5         //根据主机名来获取对应的InetAddress实例
     6         InetAddress ip=InetAddress.getByName("www.baidu.com");
     7         //判断是否可到达
     8         System.out.println("baidu是否可达到:"+ip.isReachable(2000));
     9         //获得该InetAddress实例的IP字符串
    10         System.out.println(ip.getHostAddress());
    11         //根据原始IP地址来获取对应的InetAddress实例
    12         InetAddress local=InetAddress.getByAddress(new byte[]{127,0,0,1});
    13         //判断主机是否可到达
    14         System.out.println("本机主机是否可以到达:"+local.isReachable(2000));
    15         //获取该InetAddress实例对用的全限定域名
    16         System.out.println(local.getCanonicalHostName());
    17     }
    18 }
  • 相关阅读:
    latex之插入伪代码 [转]
    BIBTeX制作参考文献 [转]
    latex 页眉设置 [转]
    python : list tuple set dictionary [转]
    ctags使用简介 [转]
    conda在指定目录下创建虚拟环境
    Ubuntu系统安装Anaconda3
    ModuleNotFoundError: No module named 'google' 问题解决方案
    PyCharm无法输入中文
    checkpoint文件
  • 原文地址:https://www.cnblogs.com/teng-IT/p/4465304.html
Copyright © 2020-2023  润新知