- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JAVA语言程序的设计教程第11章 Java网络编程
第 11 章 Java网络编程 11.1 网络地址InetAddress 在计算机网络中,我们通过IP地址来标识、区分网络上每台设备。在Java语言中,我们使用InetAddress来表示IP地址。InetAddress及其他Java网络编程常见工具类位于包中,在使用这些类之前,我们需要先导入这个包,具体方法如下: 1. 网络地址的表示 IPv4(Internet Protocol Version 4)使用4个字节(32比特)来表示一个IP地址。为了阅读方便,我们通常将每个字节表示成一个十进制数,字节间用“.”隔开。例如IP地址: 1011000111001011 我们通常表示为 205 . 177 . 11 . 203 2. 获取本机地址 在Java中,使用InetAddress类的静态方法getLocalHost()来获取本机地址。若IP地址获取失败,则抛出UnknowHostException异常。 【例11-1】 用InetAddress类的静态方法getLocalHost()获取主机IP地址。 图11.1 例11-1运行结果 3. 获取互联网主机地址 获取互联网主机地址使用的是InetAddress类的静态方法getByName(String host),其中host可以是型如“”的主机名,也可以是具体的如“64”的IP地址。 【例11-2】 用InetAddress类的静态方法getByName(String host)来获取主机IP地址。 System.out.println(remoteAddress); } catch(UnknownHostException e){ System.out.println(“获取不到主机地址”); } } } 程序运行结果如图11.2所示。 图11.2 例11-2运行结果 11.2 UDP数据报 有了IP地址之后,网络上两台主机就可以通过UDP数据报的形式来进行通信。UDP数据报协议是一种面向无连接的、不可靠的传输层协议。它不需要在通信双方间建立连接,而采用“尽最大努力投递”的方式提供通信服务。由于其协议开销小,传输延时短,对传输环境要求高,通常用于局域网内不需要高可靠性传输的通信,例如局域网内的视频点播等应用。 11.2.1 端口与数据报套接字 UDP数据报协议提供16比特长的端口号(0~65?535)来区分收、发数据报的上层应用程序。当我们发送UDP数据报时,除了指定IP地址外,还需要指定数据报的发送端口(源端口)和接收端口(目的端口)。数据报的接收方(上层应用程序)需要监听相应的目的端口,当数据报送达时,上层应用程序即可收到具体的数据报内容。 换句话说,上层应用程序通过UDP协议、IP地址和端口来与网络中的其他上层应用程序通信。UDP协议、IP地址和端口则成为上层应用程序间通信的窗口,这个窗口,我们称之为套接字(Socket)。更具体的,对UDP协议来说,我们称这个套接字为数据报套接字(DatagramSocket)。 数据报套接字DatagramSocket有两个常用的构造函数,分别是不带参数的DatagramSocket()和指定端口号的DatagramSocket(int port)。由于UDP协议是面向无连接的,数据报的接收方不关注数据报是由哪个端口发出的,因此无参数的数据报套接字通常用于发送数据报,此时发送端口号由系统分配。指定端口号的数据报套接字则常用于监听、接收数据报。 数据报套接字收发的是数据报包裹(DatagramPacket),发送包裹时,需要填写包裹的接收方地址,也即接收方的数据报套接字。此时常用的数据报包裹构造函数是: DatagramPacket(byte[?] data, int length, InetAddressremoteAddr, intremotePort); 其中,remoteAddr和remotePort指明了接收方的地址。接收包裹时,通常只关注包裹的内容,此时常用的构造函数则是:DatagramPacket(byte[ ] data, int length); 下面我们通过两个例子来说明UDP数据报的发送和接受。 11.2.2 发送UDP数据报 【例11-3】 UDP数据报发送实例。 11.2.3 接收UDP数据报 【例11-4】 UDP数据报接收实例。
您可能关注的文档
- Dreamweaver CS5.5中文版的案例教程教学资源3474200Dreamweaver CS5.5中文版的案例教程习题及的答案.doc
- DMU运动机构模拟的设计.ppt
- Dreamweaver CS3 网页制作的案例教程电子教案07第7章制作表单网页.doc
- Dreamweaver CS3 网页制作的案例教程电子教案03第3章制作图文混排网页.doc
- Dreamweaver CS3 网页制作的案例教程电子教案09第9章制作包含特效的网页.doc
- Dislocation dynamics studies of dislocation interaction in 位错动力学的研究中的位错的相互作用.ppt
- Dreamweaver CS5.5中文版的案例教程教学资源第2章2.ppt
- Dreamweaver CS5.5中文版的案例教程教学资源第13章13.ppt
- Dreamweaver CS5.5中文版的案例教程教学资源第7章7.ppt
- Dreamweaver CS5.5中文版的案例教程教学资源第3章3.ppt
- jit just in time丰田及时生产的体系.ppt
- Java语言程序的设计串讲.ppt
- JC011CA6140车床主轴箱的的设计 13325字50页.doc
- JD—1.6吨型无极绳绞车的设计.doc
- JK型建筑卷扬机的设计.doc
- JSP程序的设计的案例教程Java Web程序的设计的项目库单元的案例JavaBean典型应用教学的案例.doc
- Jmeter二次开发的环境搭建指南.docx
- JSP程序的设计的案例教程Java Web程序的设计的项目库单元的案例Application与Cookie对象教学的案例.doc
- java语言程序的设计课件合集.ppt
- Jmixp品牌上市发布会的方案.pptx
文档评论(0)