教学课件-面向IP层的类:InetAddress_第1页
教学课件-面向IP层的类:InetAddress_第2页
教学课件-面向IP层的类:InetAddress_第3页
教学课件-面向IP层的类:InetAddress_第4页
教学课件-面向IP层的类:InetAddress_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

面向IP层的类:InetAddress

java.net包中的主要的类java.net包中的主要的类包括:面向IP层的类:InetAddress面向传输层的类:①TCP协议相关类:Socket、ServerSocket②UDP协议相关类:DatagramPacket、DatagramSocket、MulticastSocket面向应用层的类:URL、URLConnectionInetAddress类InetAddress类是Java的IP地址封装类,它不需要用户了解如何实现地址的细节。类头定义如下:

publicclassInetAddressextendsobjectimplementsSerializable该类有两个字段:hostName(String)和address(int),即主机名和IP地址,这两个字段是不公开的,用户不能直接访问它们。InetAddress类没有构造方法,因此不能使用new来构造一个InetAddress类对象。比如下面的做法就是错误的:

InetAddress

ia=newInetAddress();通常是用类中的静态方法来获取信息。常用的静态方法有以下3个。InetAddress类常用的静态方法publicstaticInetAddressgetLocalHost()

throwsUnknownHostException

返回本地主机的InetAddress对象,包含本地主机名和IP地址。

publicstaticInetAddressgetByName(Stringhost)

throwsUnknownHostException

返回host所代表的网址的IP地址。host可以是机器名,也可以是IP地址或者DSN域名。publicstaticInetAddress[]getAllByName(Stringhost)

throwsUnknownHostException

返回所有host代表的网址的IP地址。我们知道,在Internet上不允许有多台计算机共用一个IP地址,但是可以用相同的名字代表一组计算机。给定一个主机名,InetAddress.getAllByName()会返回一个包含了与该主机名相对应的所有地址的数组以上3个方法通常会产生UnknownHostException异常,应在程序中捕获处理。InetAddress类的常用实例方法有以下3个publicbyte[]getAddress()方法:返回调用该方法对象的Internet地址。返回值为以网络字节为顺序的byte类型数组,

该数组共有4个元素。

publicString

getHostAddress()方法:返回与InetAddress对象相关的主机IP地址的字符串。

publicString

getHostName()方法:返回与InetAddress对象相关的主机名的字符串。getAddress方法和getHostAddress类似,它们的唯一区别是getHostAddress方法返回的是字符串形式的IP地址,而getAddress方法返回的是byte数组形式的IP地址。

例1:获取本机的IP地址(使用getLocalHost()方法)程序运行结果包含主机名,如果仅想获得IP地址或主机名,可用InetAddress类的实例方法getHostAddress()和getHostName()例2:获取本机的IP地址(使用getLocalHost()、getHostAddress()、getHostName()方法)import.*;publicclassgetDNSIP{publicstaticvoidmain(Stringargs[]){InetAddressswjtu=null;try{

swjtu=InetAddress.getByName("www.imufe.");}catch(UnknownHostExceptione){}System.out.println(swjtu);}}例3:根据域名自动到DNS上查找IP地址(getByName()方法)例4返回域名所代表的所有IP地址(getAllByName()方法)

import.*;publicclassgetAllIP{publicstaticvoidmain(String

args[]){

InetAddress[]swjtu=null;try{

swjtu=InetAddress.getAllByName("");}catch(UnknownHostExceptione){}

for(inti=0;i<swjtu.length;i++){

System.out.println(swjtu[i]);}}}例5:getLocalHost()和getAddress();作

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论