




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向IP层的类:InetAddress,包中的主要的类,包中的主要的类包括:面向IP层的类:InetAddress面向传输层的类:TCP协议相关类:Socket、ServerSocketUDP协议相关类:DatagramPacket、DatagramSocket、MulticastSocket面向应用层的类:URL、URLConnection,InetAddress类,InetAddress类是Java的IP地址封装类,它不需要用户了解如何实现地址的细节。类头定义如下:publicclassInetAddressextendsobjectimplementsSerializable该类有两个字段:hostName(String)和address(int),即主机名和IP地址,这两个字段是不公开的,用户不能直接访问它们。InetAddress类没有构造方法,因此不能使用new来构造一个InetAddress类对象。比如下面的做法就是错误的:InetAddressia=newInetAddress();通常是用类中的静态方法来获取信息。常用的静态方法有以下3个。,InetAddress类常用的静态方法,publicstaticInetAddressgetLocalHost()throwsUnknownHostException返回本地主机的InetAddress对象,包含本地主机名和IP地址。publicstaticInetAddressgetByName(Stringhost)throwsUnknownHostException返回host所代表的网址的IP地址。host可以是机器名,也可以是IP地址或者DSN域名。publicstaticInetAddressgetAllByName(Stringhost)throwsUnknownHostException返回所有host代表的网址的IP地址。我们知道,在Internet上不允许有多台计算机共用一个IP地址,但是可以用相同的名字代表一组计算机。给定一个主机名,InetAddress.getAllByName()会返回一个包含了与该主机名相对应的所有地址的数组以上3个方法通常会产生UnknownHostException异常,应在程序中捕获处理。,InetAddress类的常用实例方法有以下3个,publicbytegetAddress()方法:返回调用该方法对象的Internet地址。返回值为以网络字节为顺序的byte类型数组,该数组共有4个元素。publicStringgetHostAddress()方法:返回与InetAddress对象相关的主机IP地址的字符串。publicStringgetHostName()方法:返回与InetAddress对象相关的主机名的字符串。,getAddress方法和getHostAddress类似,它们的唯一区别是getHostAddress方法返回的是字符串形式的IP地址,而getAddress方法返回的是byte数组形式的IP地址。,例1:获取本机的IP地址(使用getLocalHost()方法),.*;publicclassgetLocalHostTestpublicstaticvoidmain(Stringargs)InetAddressmyIP=null;/创建inetAddress类的对象不用构造方法(不用new)trymyIP=InetAddress.getLocalHost();System.out.println(myIP);catch(UnknownHostExceptione),程序运行结果包含主机名,如果仅想获得IP地址或主机名,可用InetAddress类的实例方法getHostAddress()和getHostName(),例2:获取本机的IP地址(使用getLocalHost()、getHostAddress()、getHostName()方法),.*;publicclassgetLocalHostTestpublicstaticvoidmain(Stringargs)InetAddressmyIP=null;trymyIP=InetAddress.getLocalHost();Stringlocalip=myIP.getHostAddress();/得到主机IP地址Stringlocalname=myIP.getHostName();/得到主机名System.out.println(myIP);System.out.println(本机IP地址为:+localip);System.out.println(本机主机名为:+localname);catch(UnknownHostExceptione),.*;publicclassgetDNSIPpublicstaticvoidmain(Stringargs)InetAddressswjtu=null;tryswjtu=InetAddress.getByName();catch(UnknownHostExceptione)System.out.println(swjtu);,例3:根据域名自动到DNS上查找IP地址(getByName()方法),例4返回域名所代表的所有IP地址(getAllByName()方法),.*;publicclassgetAllIPpublicstaticvoidmain(Stringargs)InetAddressswjtu=null;tryswjtu=InetAddress.getAllByName();catch(UnknownHostExceptione)for(inti=0;iswjtu.length;i+)System.out.println(swjtui);,例5:getLocalHost()和getAddress();,.*;publicclassgetAddresstTestpublicstaticvoidmain(Stringargs)InetAddressmyIP=null;trymyIP=InetAddress.getLocalHost();bytelocalip1=myIP.getAddress();/得到主机IP地址for(inti=0;ilocalip1.length;i+)System.out.print(localip1i+);catch(UnknownHostExceptione)getAddress()方法返回的byte数组是有符号的。在Java中byte类型的取值范围是-128127。如果返回的IP地址的某个字节是大于127的整数,在byte数组中就是负数。,作业,编写图形界面的Application程序,包含一个TextField和一个Label。TextField接受用户输入的主机名,Label把这个主机的IP地址显示出来。,getAddress方法和getHostAddress类似,它们的唯一区别是getHostAddress方法返回的是字符串形式的IP地址,而getAddress方法返回的是byte数组形式的IP地址。getAddress方法的定义如下:publicbytegetAddress()这个方法返回的byte数组是有符号的。在Java中byte类型的取值范围是-128127。如果返回的IP地址的某个字节是大于127的整数,在byte数组中就是负数。由于Java中没有无符号byte类型,因此,要想显示正常的IP地址,必须使用int或long类型。下面代码演示了如何利用getAddress返回IP地址,以及如何将IP地址转换成正整数形式。packagemynet;import.*;publicclassMyIPpublicstaticvoidmain(Stringargs)throwsExceptionInetAddressaddress=InetAddress.getByName(www.网址.net);byteip=address.getAddress();for(byteipSegment:ip)System.out.print(ipSegment+);System.out.println();for(byteipSegment:ip)intnewIPSegment=(ipSegment0)?256+ipSeg
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CI 614-2024COB小间距显示屏可靠性测试与评估规范
- 2025江苏无锡市妇联实验托幼中心招聘编外工作人员10人备考考试题库附答案解析
- 2026粤规科技校园招聘备考考试题库附答案解析
- 工厂安全培训活动的感想
- 资阳现代农业发展集团有限公司下属子公司一般员工市场化招聘(6人)备考考试题库附答案解析
- 工厂安全培训标语课件
- 线上线下数据联动-洞察及研究
- 2025重庆大学土木工程学院科研团队劳务派遣工勤人员招聘1人备考考试题库附答案解析
- 2025版男科疾病常见症状及护理技巧
- 运动饮食养成之道
- 中学生青春期恋爱教育主题班会
- 急性心力衰竭急救
- 叙事护理案例汇报
- 2025年广东省中考地理试卷(含2025年答案及考点分析)
- 债务加入还款协议书
- 《纯电动汽车构造与检修》课件-任务2 比亚迪E5电机驱动系统构造与检修
- 2024年企业所得税年度纳税申报表(A类2017 年版2025年01月修订)-(2025 0323)
- 母女亲子断绝协议书范本
- 客户关系管理(CRM)系统项目总结报告范文
- 学校突发事件应急处置全套流程图(可编辑)
- 派单业务合同模版模板
评论
0/150
提交评论