【精品】java 实用程序设计(西电版第11章 java网络程序设计精品ppt课件.ppt

上传人:1595****071 文档编号:76419462 上传时间:2023-03-10 格式:PPT 页数:42 大小:1.59MB
返回 下载 相关 举报
【精品】java 实用程序设计(西电版第11章 java网络程序设计精品ppt课件.ppt_第1页
第1页 / 共42页
【精品】java 实用程序设计(西电版第11章 java网络程序设计精品ppt课件.ppt_第2页
第2页 / 共42页
点击查看更多>>
资源描述

《【精品】java 实用程序设计(西电版第11章 java网络程序设计精品ppt课件.ppt》由会员分享,可在线阅读,更多相关《【精品】java 实用程序设计(西电版第11章 java网络程序设计精品ppt课件.ppt(42页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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

2、rverSocket类的对象主要用于监听客户端的连接并建立通信Socket连接。5 5第 11 章 Java 网络程序设计1.IP地址类InetAddressInetAddress类在包中,用来定义一个IP地址。该类能够完成解析IP地址、查询主机名等功能。InetAddress类没有public的构造方法,一般需要通过调用该类的静态方法返回具体的InetAddress对象。InetAddress的主要接口方法及其含义如表11-1所示。6 6第 11 章 Java 网络程序设计7 7第 11 章 Java 网络程序设计8 8第 11 章 Java 网络程序设计9 9第 11 章 Java 网络程

3、序设计10 10第 11 章 Java 网络程序设计2.有连接的通信模型在Java中,有连接的通信采用流式I/O模型,通信模型见图11-2。客户端Socket的典型构造方法形如:Socket(InetAddress address,int port,InetAddress localAddr,int localPort)或 Socket(String host,int port,InetAddress localAddr,int localPort)11 11第 11 章 Java 网络程序设计图11-2 有连接的客户端/服务器通信模型12 12第 11 章 Java 网络程序设计其中,add

4、ress为远端IP,port为远端端口号,host为远端主机名,可选的localAddr为本地IP地址,可选的localPort为与当前Socket绑定的本地端口号。Socket类的主要接口方法及其含义如表11-2所示。ServerSocket的构造方法形如:ServerSocket(int port,int backlog)13 13第 11 章 Java 网络程序设计14 14第 11 章 Java 网络程序设计3.有连接的通信示例在例11-3中,TCPClient与TCP-Server进行有连接的通信。在连接建立后,双方各自获得对方的IP地址字符串和端口号并在控制台显示。在获得各自I/O

5、流之后,TCPClient接受从键盘输入的语句,并发送给TCPServer。TCPServer接收到消息后,判断其是否为“quit”命令,如果不是,则将收到的消息显示在控制台。此后,TCPServer在收到的消息之前加上字符串“Server reply:”之后,发送回TCPClient。TCPClient在接收到消息后在控制台将消息打印出来。15 15第 11 章 Java 网络程序设计16 16第 11 章 Java 网络程序设计17 17第 11 章 Java 网络程序设计18 18第 11 章 Java 网络程序设计19 19第 11 章 Java 网络程序设计4.Socket选项Soc

6、ket类还有一些与Socket选项相关的接口方法,其中的一些主要方法及含义见表11-3。2020第 11 章 Java 网络程序设计21 21第 11 章 Java 网络程序设计11.3 无连接的Socket通信无连接的Socket通信主要使用包中的DatagramSocket类,而被发送的数据报则是DatagramPacket类的对象。数据报是一种在网络上独立传播的包含两端地址信息的消息。数据报无法保证消息的可靠到达和及时到达,与面向连接的通信方式相比,服务质量较差但开销较小。对于不需要高质量通信服务的应用程序来说,使用无连接的数据报通信方式是简便易行的。2222第 11 章 Java 网络

7、程序设计1.DatagramPacket类创建DatagramPacket的目的可能有两个:使用UDP发送数据到远端机器;使用UDP从远端机器接收数据。DatagramPacket的构造方法至少都包含两个参数,其中一个是字符数组参数,用于存储UDP包的内容,另一个是数据包的长度。DatagramPacket的不同构造方法可用于发送和接收的不同场景。当构造的DatagramPacket用于接收UDP包时,则应使用以下构造方法:DatagramPacket(byte buffer,int length)2323第 11 章 Java 网络程序设计其中,buffer为存放接收到的数据报的字节数组,l

8、ength为接收数据的长度。当构造的DatagramPacket用于发送UDP包到一个远程主机时,则应使用以下构造方法:DatagramPacket(byte buffer,int length,InetAddress dest_addr,int dest_port)其中,buffer中保存用于填充数据报的内容,length为数据长度,dest_addr为目的主机地址,dest_port为目的端口地址。DatagramPacket类的主要接口方法及其含义如表11-4所示。2424第 11 章 Java 网络程序设计2525第 11 章 Java 网络程序设计2.无连接的通信模型无连接的通信模型

9、相比有连接的通信模型来说更为简单,其通信模型如图11-3所示。在无连接通信过程中,数据收发的主体是DatagramSocket类的对象实例。服务器和客户端首先均应创建DatagramSocket用以发送或接收DatagramPacket,DatagramSocket的典型构造方法为:DatagramSocket()或 DatagramSocket(int port)2626第 11 章 Java 网络程序设计图11-3 无连接的客户端/服务器通信模型2727第 11 章 Java 网络程序设计2828第 11 章 Java 网络程序设计2929第 11 章 Java 网络程序设计3.无连接的通

10、信示例以下通过一个例子说明无连接通信的基本方法。在例11-4中,UDPServer首先创建一个接收数据报的DatagramPacket,接收UDPClient发送的空数据报,获得UDPClient的IP地址和端口号。然后,UDPServer从控制台接收一句输入,将其转化为字节数组,并创建用于发送的DatagramPacket,发送回UDPClient。UDPClient在收到数据报后在控制台上打印其内容。3030第 11 章 Java 网络程序设计31 31第 11 章 Java 网络程序设计3232第 11 章 Java 网络程序设计3333第 11 章 Java 网络程序设计11.4 UR

11、L通信基于Socket的通信方式允许用户设计自己的应用层协议,实现更为广泛和灵活的应用程序。而在实际应用中,很多时候利用已有的应用层通信协议已经足够程序员解决问题。例如当我们希望访问互联网上的一些资源时,可以直接使用HTTP和FTP。这时,可以直接使用基于URL的通信方式。3434第 11 章 Java 网络程序设计统一资源定位符(Uniform Resource Locator,URL)是互联网上资源的统一地址形式,URL可以指向互联网上的文件、web站点、ftp站点、新闻组、E-mail地址等资源。使用URL访问网络资源时,只需要在URL中标识清楚访问资源使用的应用层协议,而不再需要考虑这

12、些协议的具体处理过程。URL通常是由一个字符串描述的,其基本形式如下:协议标识:/主机名:端口号路径名#引用3535第 11 章 Java 网络程序设计1.URL类在Java中,URL由包中的URL类表示。URL类的构造方法的一般形式主要有以下两种:URL(String protocol,String host,int port,String file)或 URL(URL context,String spec)3636第 11 章 Java 网络程序设计3737第 11 章 Java 网络程序设计3838第 11 章 Java 网络程序设计3939第 11 章 Java 网络程序设计4040第 11 章 Java 网络程序设计2.基于URL的网络资源检索若想要读取URL所指向的网络资源,可以采用两种方式:直接使用URL类或者使用URLConnection类。例11-6给出了第一种检索方式的典型示例,通过URL类的openStream()方法即可得到读取URL资源的InputStream,然后将其封装到过滤流中逐行读取资源内容,将读取的内容在控制台打印并保存到本地文件xidian_home.html中。41 41第 11 章 Java 网络程序设计4242第 11 章 Java 网络程序设计

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁