Java实用程序设计(西电版)第11章Java网络程序设计

Java实用程序设计(西电版)第11章Java网络程序设计

ID:41233108

大小:1.63 MB

页数:42页

时间:2019-08-20

Java实用程序设计(西电版)第11章Java网络程序设计_第1页
Java实用程序设计(西电版)第11章Java网络程序设计_第2页
Java实用程序设计(西电版)第11章Java网络程序设计_第3页
Java实用程序设计(西电版)第11章Java网络程序设计_第4页
Java实用程序设计(西电版)第11章Java网络程序设计_第5页
资源描述:

《Java实用程序设计(西电版)第11章Java网络程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第11章Java网络程序设计11.1网络程序设计概述11.2有连接的Socket通信11.3无连接的Socket通信11.4URL通信11.1网络程序设计概述Internet上的通信协议是以TCP/IP协议簇为基础的。TCP/IP协议簇通常分为4层:网络接口层、网络层、传输层和应用层,如图11-1所示。图11-1TCP/IP协议簇的4层模型11.2有连接的Socket通信有连接的Socket通信主要使用java.net包中的Socket类和ServerSocket类,Socket类的对象主要用于标识一个通信Socket连接的客户端和服务器端,而ServerSocket类的对象主要

2、用于监听客户端的连接并建立通信Socket连接。1.IP地址类InetAddressInetAddress类在java.net包中,用来定义一个IP地址。该类能够完成解析IP地址、查询主机名等功能。InetAddress类没有public的构造方法,一般需要通过调用该类的静态方法返回具体的InetAddress对象。InetAddress的主要接口方法及其含义如表11-1所示。2.有连接的通信模型在Java中,有连接的通信采用流式I/O模型,通信模型见图11-2。   客户端Socket的典型构造方法形如:Socket(InetAddressaddress,intport[,In

3、etAddresslocalAddr,intlocalPort])或Socket(Stringhost,intport[,InetAddresslocalAddr,intlocalPort])图11-2有连接的客户端/服务器通信模型其中,address为远端IP,port为远端端口号,host为远端主机名,可选的localAddr为本地IP地址,可选的localPort为与当前Socket绑定的本地端口号。Socket类的主要接口方法及其含义如表11-2所示。ServerSocket的构造方法形如:ServerSocket(intport[,intbacklog])3.有连接的通

4、信示例在例11-3中,TCPClient与TCP-Server进行有连接的通信。在连接建立后,双方各自获得对方的IP地址字符串和端口号并在控制台显示。在获得各自I/O流之后,TCPClient接受从键盘输入的语句,并发送给TCPServer。TCPServer接收到消息后,判断其是否为“quit”命令,如果不是,则将收到的消息显示在控制台。此后,TCPServer在收到的消息之前加上字符串“Serverreply:”之后,发送回TCPClient。TCPClient在接收到消息后在控制台将消息打印出来。4.Socket选项Socket类还有一些与Socket选项相关的接口方法,其

5、中的一些主要方法及含义见表11-3。11.3无连接的Socket通信无连接的Socket通信主要使用java.net包中的Datagram Socket类,而被发送的数据报则是DatagramPacket类的对象。数据报是一种在网络上独立传播的包含两端地址信息的消息。数据报无法保证消息的可靠到达和及时到达,与面向连接的通信方式相比,服务质量较差但开销较小。对于不需要高质量通信服务的应用程序来说,使用无连接的数据报通信方式是简便易行的。1.DatagramPacket类创建DatagramPacket的目的可能有两个:使用UDP发送数据到远端机器;使用UDP从远端机器接收数据。Da

6、tagramPacket的构造方法至少都包含两个参数,其中一个是字符数组参数,用于存储UDP包的内容,另一个是数据包的长度。DatagramPacket的不同构造方法可用于发送和接收的不同场景。当构造的DatagramPacket用于接收UDP包时,则应使用以下构造方法:DatagramPacket(byte[]buffer,intlength)其中,buffer为存放接收到的数据报的字节数组,length为接收数据的长度。当构造的DatagramPacket用于发送UDP包到一个远程主机时,则应使用以下构造方法:DatagramPacket(byte[]buffer,intle

7、ngth,InetAddressdest_addr,intdest_port)其中,buffer中保存用于填充数据报的内容,length为数据长度,dest_addr为目的主机地址,dest_port为目的端口地址。DatagramPacket类的主要接口方法及其含义如表11-4所示。2.无连接的通信模型无连接的通信模型相比有连接的通信模型来说更为简单,其通信模型如图11-3所示。在无连接通信过程中,数据收发的主体是DatagramSocket类的对象实例。服务器和客户端首先均应

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。