第10章网络编程_补充案例探索.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十章 补充案例 使用InetAddress类获取与IP信息 一、案例描述 考核知识点 编号名称:InetAddress类 练习目标 掌握InetAddress类的相关API 掌握如何使用InetAddress类中的方法获取计算机的主机名和IP地址等信息。 需求分析 InetAddress类中提供了一系列与IP地址相关的方法,利用这些方法可以获取到指定计算机的主机名、IP地址以及连接状态等信息。为了让初学者掌握InetAddress类中常用方法的使用,本案例将针对如何通过InetAddress类中的方法获取计算机的IP地址、主机名等功能进行演示。 设计思路(实现原理) 编写Example01类。 在main()方法中,通过InetAddress类的静态方法getLocalHost()创建实例对象,并通过该对象完成获取计算机主机名和计算机IP地址的操作。 分别将获取到的主机名和IP地址输出。 二、案例实现 import java.net.InetAddress; import java.net.UnknownHostException; public class Example01 { public static void main(String[] args) throws UnknownHostException { //获取本机的IP地址 InetAddress address = InetAddress.getLocalHost(); //以字符串形式返回IP地址 String ip = address.getHostAddress(); //获取此IP地址的主机名 String name = address.getHostName(); System.out.println(本机的ip地址是:+ip); System.out.println(本机的hostName是:+name); } } 运行结果如图10-1所示。 运行结果 三、案例总结 1、InetAddress类用于封装一个IP地址,并提供了一系列与IP地址相关的方法,其中,getByName(String host)方法表示获取指定主机的IP地址,常用于获取远程计算机的IP信息,isReachable(int timeout)方法表示判断指定的时间内IP地址是否可以到达,常用于测试网络是否通畅。 2、InetAddress类的getHostName()方法是用来获取IP地址的主机名,而为什么有的时候获取到的不是主机名而是域名? UDP网络程序 一、案例描述 考核知识点 编号名称:DatagramPacket类和DatagramSocket类 练习目标 掌握DatagramPacket类和DatagramSocket类的作用 掌握如何使用DatagramPacket类和DatagramSocket类通过编写简单的UDP程序。 需求分析 DatagramPacket用于封装UDP通信中发送或者接收的数据,DatagramSocket类用于发送和接收DatagramPacket数据包。为了让初学者掌握这两个类的作用,本案例将通过DatagramPacket类和DatagramSocket类实现简单的数据通信,并通过观察两个命令行窗口中数据输出的先后顺序,从而掌握UDP网络程序中接收端和发送端的执行原理。 设计思路(实现原理) 编写数据接收类ReceiveDemo,在ReceiveDemo类中创建接收端的Socket服务对象,并依次编写创建数据包、调用接收方法、解析数据包并向命令行输出内容,释放资源等操作。 编写数据发送类SendDemo,在SendDemo类中创建发送端的Socket服务对象,并依次编写创建数据包,打包数据、发送数据、释放资源等操作。 依次执行ReceiveDemo和SendDemo类,观察命令行输出变化。 二、案例实现 UDP网络程序中接受数据端,代码如下: import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; public class ReceiveDemo { public static void main(String[] args) throws IOException { // 创建接收端Socket服务对象 DatagramSocket ds = new DatagramSocket(12306); // 创建数据包(接收容器) byte[] bys

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档