使用InetAddress

使用InetAddress17.2Java的基本网络支持  Java为网络支持提供了java.net包,该包下的URL和URLConnection等类提供了以编程方式访问Web服务的功能,而URLDecoder和URLEncoder则提供普通字符串和application/x-www-form-urlencodedMIME字符串相互转换的静态方法。  17.2.1使用InetAddress

大家好,又见面了,我是你们的朋友全栈君。

17.2 Java的基本网络支持

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

  17.2.1 使用InetAddress

  Java提供了InetAddress类来代表IP地址,InetAddress下还有2个子类:Inet4Address、Inet6Address,它们分别代表Internet Protocol version 4(IPv4)地址和Internet Protocol version 6(IPv6)地址。

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

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

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

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

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

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

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

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

  InetAddress类还提供了一个isReachable()方法,用于测试是否可以到达该地址。该方法的实现将尽最大努力试图到达主机,但防火墙和服务器配置可能阻塞请求,使其在某些特定的端口可以访问时处于不可达的状态。如果可以获得权限,则典型实现将使用 ICMP ECHO REQUEST;否则它将试图在目标主机的端口7 Echo)上建立 TCP 连接。下面程序测试了InetAddress的简单用法:

  程序清单:codes/17/17-2/InetAddressTest.java

  public class InetAddressTest

  {

  public static void main(String[] args)

  throws Exception

  {

  //根据主机名来获取对应的InetAddress实例

  InetAddress ip = InetAddress.getByName(”www.oneedu.cn”);

  //判断是否可达

  System.out.println(”oneedu是否可达:” + ip.isReachable(2000));

  //获取该InetAddress实例的IP字符串

  System.out.println(ip.getHostAddress());

  //根据原始IP地址来获取对应的InetAddress实例

  InetAddress local = InetAddress.getByAddress(new byte[]

  {127,0,0,1});

  System.out.println(”本机是否可达:” + local.isReachable(5000));

  //获取该InetAddress实例对应的全限定域名

  System.out.println(local.getCanonicalHostName());

  }

  }

  上面程序简单地示范了InetAddress类几个方法用法,InetAddress类本身并没有提供太多功能,它代表一个IP地址对象,是网络通信的基础,在后面介绍中将大量使用该类。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152241.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 大数据管理概论

    大数据管理概论大数据管理概论1大数据隐私1.1引言如今的数据主要大数据的类型隐私特征与类别大数据的隐私风险1.2隐私保护技术匿名化技术数据加密技术差分隐私技术隐私信息检索技术参考文献1大数据隐私1.1引言21世纪网络技术的发展使得个人的隐私无处可藏如今的数据主要大数据的类型1)原生数字化数据这类数据自然产生出来就适合计算机存储的和处理的数据。例如:电子邮件与文本信息,GPS位置数据,关…

    2022年6月10日
    48
  • stn算子_STN 口袋指南

    stn算子_STN 口袋指南欢迎使用STN®!本页主要介绍STN指令式检索的基本功能。按您可能遇到问题的先后顺序(从登录STN到退出)排列信息。目录登录STN按照以下说明登录STN。界面登录方式STNExpress安装并启动软件。STN安装向导自动启动。有关连接的其他信息,请访问STNExpressSupport。STNext访问STNext。输入您的STN登录ID和密码。进入数据库在箭头提…

    2022年10月19日
    0
  • 纯净的系统重装工具(使用小白一键重装系统之后的系统)

    重装系统教程入门IT第一步,来一个干净的电脑系统吧?(装机需谨慎,系统盘必须格式化,其他风险自测。)本教程提供两种重装系统方式,两种均为纯净装机,均需要U盘。1、PE重装,此方式会为装机者提供更多工具,包括分区大师,电脑密码破解等等工具。2、ISO重装,此方法傻瓜式操作,简单快捷,一键重装。PE重装工具:1、8G以上U盘2、微PE工具:连接:https://pan.baidu…

    2022年4月14日
    118
  • 【转载】这才是真正的分布式锁

    【转载】这才是真正的分布式锁

    2021年11月20日
    40
  • 计算机网络知识汇总(超详细整理)

    计算机网络知识汇总(超详细整理)为了准备期末考试,同时也是为了之后复习方便,特对计算机网络的知识进行了整理。本篇内容大部分是来源于我们老师上课的ppt。而我根据自己的理解,将老师的PPT整理成博文的形式以便大家复习查阅,同时对于一些不是很清楚的地方,我去查阅了相关资料进行补充,当然也会有部分个人看法夹带其中来帮助大家理解。

    2022年6月14日
    19
  • Unity Shader-描边效果[通俗易懂]

    简介描边效果是游戏里面非常常用的一种效果,一般在选中物体或者NPC的时候,被选中的对象就会显示描边效果。比如最近又跑回去玩了玩《剑灵》,虽然出了三年了,在现在的网游里面画面仍然算很好的。还有就是最常见的LOL中的塔,选中时就会看到很明显的描边效果:

    2022年4月11日
    35

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号