知识大全 Java网络编程基础(一) InetAddress类的使用

Posted 地址

篇首语:与其担心未来,不如现在好好努力,只有奋斗才能给你安全感。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java网络编程基础(一) InetAddress类的使用相关的知识,希望对你有一定的参考价值。

Java网络编程基础(一) InetAddress类的使用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  InetAddress类在网络API套接字编程中扮演了一个重要角色

  参数传递给流套接字类和自寻址套接字类构造器或非构造器方法 InetAddress描述了 位或 位IP地址 要完成这个功能 InetAddress类主要依靠两个支持类Inet Address 和 Inet Address 这三个类是继承关系 InetAddrress是父类 Inet Address 和 Inet Address是子类

  由于InetAddress类只有一个构造函数 而且不能传递参数 所以不能直接创建InetAddress对象 比如下面的做法就是错误的

  InetAddress ia = new InetAddress ();

  但我们可以通过下面的 个工厂方法创建来创建一个InetAddress对象或InetAddress数组

   getAllByName(String host)方法返回一个InetAddress对象的引用 每个对象包含一个表示相应主机名的单独的IP地址 这个IP地址是通过host参数传递的 对于指定的主机如果没有IP地址存在那么这个方法将抛出一个UnknownHostException 异常对象

   getByAddress(byte [] addr)方法返回一个InetAddress对象的引用 这个对象包含了一个Ipv 地址或Ipv 地址 Ipv 地址是一个 字节数组 Ipv 地址是一个 字节地址数组 如果返回的数组既不是 字节的也不是 字节的 那么方法将会抛出一个UnknownHostException异常对象

   getByAddress(String host byte [] addr)方法返回一个InetAddress对象的引用 这个InetAddress对象包含了一个由host和 字节的addr数组指定的IP地址 或者是host和 字节的addr数组指定的IP地址 如果这个数组既不是 字节的也不是 位字节的 那么该方法将抛出一个UnknownHostException异常对象

   getByName(String host)方法返回一个InetAddress对象 该对象包含了一个与host参数指定的主机相对应的IP地址 对于指定的主机如果没有IP地址存在 那么方法将抛出一个UnknownHostException异常对象

   getLocalHost()方法返回一个InetAddress对象 这个对象包含了本地机的IP地址 考虑到本地主机既是客户程序主机又是服务器程序主机 为避免混乱 我们将客户程序主机称为客户主机 将服务器程序主机称为服务器主机

  上面讲到的方法均提到返回一个或多个InetAddress对象的引用 实际上每一个方法都要返回一个或多个Inet Address/Inet Address对象的引用 调用者不需要知道引用的子类型 相反调用者可以使用返回的引用调用InetAddress对象的非静态方法 包括子类型的多态以确保重载方法被调用

  InetAddress和它的子类型对象处理主机名到主机IPv 或IPv 地址的转换 要完成这个转换需要使用域名系统 下面的代码示范了如何通过调用getByName(String host)方法获得InetAddress子类对象的方法 这个对象包含了与host参数相对应的IP地址

  InetAddress ia = InetAddress getByName ( ));

  一但获得了InetAddress子类对象的引用就可以调用InetAddress的各种方法来获得InetAddress子类对象中的IP地址信息 比如 可以通过调用getCanonicalHostName()从域名服务中获得标准的主机名 getHostAddress()获得IP地址 getHostName()获得主机名 isLoopbackAddress()判断IP地址是否是一个loopback地址

  List 是一段示范代码

  

>

  当无命令行参数时 代码输出类似下面的结果

  

  Canonical Host Name = localhost

  Host Address =

  Host Name = localhost

  Is Loopback Address = true

cha138/Article/program/Java/hx/201311/26080

相关参考

知识大全 Java编程那些事儿9——网络编程基础[2]

Java编程那些事儿9——网络编程基础[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  端口

知识大全 Java套接字实现网络编程之基础篇

Java套接字实现网络编程之基础篇  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!用Java开发网络

知识大全 Java网络编程基础(四) ServerSocket类使用

Java网络编程基础(四)ServerSocket类使用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下

知识大全 学java软件编程需要什么基础?没基础可以学吗?

学java软件编程需要什么基础?没基础可以学吗?学习java有基础的话学习得更快很扎实点,没有基础也是可以学的,只不过要付出更多努力和经历,可以报个培训班系统学习下。学习软件编程需要什么基础?初级软件

知识大全 Java网络编程基础(二) Socket类的使用方法

Java网络编程基础(二)Socket类的使用方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 Java多线程编程基础之线程对象

Java多线程编程基础之线程对象  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs

知识大全 Java GUI用户界面编程的基础

JavaGUI用户界面编程的基础  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Java的GUI

知识大全 实战体会Java多线程编程精要之基础

实战体会Java多线程编程精要之基础  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n

知识大全 Java编程那些事儿14——Eclipse基础使用进阶

Java编程那些事儿14——Eclipse基础使用进阶  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 Java多线程编程基础之线程和多线程

Java多线程编程基础之线程和多线程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  随着计算机技