知识大全 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] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 端口
Java套接字实现网络编程之基础篇 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!用Java开发网络
知识大全 Java网络编程基础(四) ServerSocket类使用
Java网络编程基础(四)ServerSocket类使用 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下
学java软件编程需要什么基础?没基础可以学吗?学习java有基础的话学习得更快很扎实点,没有基础也是可以学的,只不过要付出更多努力和经历,可以报个培训班系统学习下。学习软件编程需要什么基础?初级软件
知识大全 Java网络编程基础(二) Socket类的使用方法
Java网络编程基础(二)Socket类的使用方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Java多线程编程基础之线程对象 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs
JavaGUI用户界面编程的基础 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Java的GUI
实战体会Java多线程编程精要之基础 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n
知识大全 Java编程那些事儿14——Eclipse基础使用进阶
Java编程那些事儿14——Eclipse基础使用进阶 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧
Java多线程编程基础之线程和多线程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 随着计算机技