InetAddress

Author Avatar
罗炜光 5月 08, 2016
  • 在其它设备中阅读本文章

创建InetAddress对象

  • getByAddress(byte[] addr) static InetAddress
    根据提供的IP地址创建 InetAddress
  • getByAddress(String host, byte[] addr) static InetAddress
    根据提供的主机名和IP地址创建 InetAddress
  • getByName(String host) static InetAddress
    根据提供的主机名创建 InetAddress
  • getAllByName(String host) static InetAddress[]
    在给定主机名的情况下,根据系统上配置的名称服务返回其 IP 地址所组成的数组。
  • getLocalHost() static InetAddress
    返回本地主机
  • getLoopbackAddress() static InetAddress
    返回回送地址,在Windows系统中,采用127.0.0.1

获取方法

  • getHostName() String
    获取此IP地址的主机名。
  • getCanonicalHostName() String
    获取此IP 地址的完全限定域名。如果安全检查不允许操作,则返回IP 地址的文本表示形式。
  • getAddress() byte[]
    返回此InetAddress对象的原始 IP 地址。
  • getHostAddress() String
    返回IP地址字符串(以文本表现形式)。

地址类型

  • isAnyLocalAddress() boolean
    如果地址是通配地址,返回ture。IPv4的通配符地址是0.0.0.0
  • isLoopbackAddress() boolean
    如果地址是回送地址,返回ture。IPv4的loopback地址的范围是127.0.0.0 ~ 127.255.255.255
  • isLinkLocalAddress() boolean
    如果地址是本地连接地址,返回ture。IPv4的本地连接地址的范围是 169.254.0.0 ~ 169.254.255.255
  • isSiteLocalAddress() boolean
    如果地址是地区本地地址,返回ture。IPv4的地址本地地址分为三段:10.0.0.0 ~ 10.255.255.255、172.16.0.0 ~ 172.31.255.255、192.168.0.0 ~ 192.168.255.255
  • isMulticastAddress() boolean
    如果地址是广播地址,返回ture。IPv4的广播地址的范围是224.0.0.0 ~ 239.255.255.255
  • isMCGlobal() boolean
    如果地址是全球范围的广播地址,返回ture。IPv4的广播地址除了224.0.0.0和第一个字节是239的IP地址都是全球范围的广播地址
  • isMCNodeLocal() boolean
    如果地址本地接口广播地址,返回ture。所有的IPv4广播地址都不是本地接口广播地址
  • isMCLinkLocal() boolean
    如果地址是子网广播地址,返回ture。IPv4的子网广播地址的范围是 224.0.0.0 ~ 224.0.0.255
  • isMCSiteLocal() boolean
    如果地址是站点范围的广播地址,返回ture。IPv4的站点范围广播地址的范围是239.255.0.0 ~ 239.255.255.255
  • isMCOrgLocal() boolean
    如果地址是组织范围的广播地址,返回ture。IPv4的组织范围广播地址的第一个字节是239,第二个字节不小于192,第三个字节不大于195

测试可达性

  • isReachable(int timeout) boolean

  • isReachable(NetworkInterface netif, int ttl, int timeout) boolean

netif - 将用于完成测试的NetworkInterface;或者用于任何接口的null
ttl - 要尝试的最大跳数或默认值 0
timeout - 调用中止前的时间(以毫秒为单位)

参考资料

Java网络编程
利用InetAddress类确定特殊IP地址