版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第11章 网络编程第11章 网络编程ppt课件(全)本章学习目标掌握计算机网络的基本概念理解TCP/IP和UDP协议掌握基于TCP协议的网络编程技术掌握基于UDP协议的网络编程技术第11章 网络编程ppt课件(全)任务1:什么是计算机网络【任务内容】了解计算机网络【能力目标】了解计算机网络的概念、组成和功能11.1 网络编程的基础知识第11章 网络编程ppt课件(全)计算机网络(Computer Network)是以共享资源(硬件、软件和数据等)为目的而连接起来的,在协议控制下由一台或多台计算机系统、若干台终端设备、数据传输设备等组成的系统之集合。 计算机网络的功能主要表现在硬件资源共享、软件
2、资源共享和用户间信息交换三个方面。第11章 网络编程ppt课件(全)任务2:协议和计算机网络体系结构【任务内容】了解协议和计算机网络体系结构【能力目标】了解网络协议和组成要素了解计算机网络体系结构的概念和由来11.1 网络编程的基础知识第11章 网络编程ppt课件(全)要想让两台计算机进行通信,必须使它们采用相同的信息交换规则。我们把在计算机网络中用于规定信息的格式以及如何发送和接收信息的一套规则称为网络协议(network protocol)或通信协议(communication protocol)。其中包含三个要素,即语法(Syntax)、语义(Semantics)和时序(Timing)。
3、为了更方便地实现计算机设备之间的通信,我们定义和描述一组用于计算机及其通信设施之间互连的标准和规范的集合,称为计算机网络体系结构(Network Architecture)。 1974年,IBM公司提出了世界上第一个网络体系结构(System Network Architecture,SNA)。此后,许多公司纷纷提出各自的网络体系结构,如ISO/OSI参考模型、TCP/IP体系结构、Netware体系结构、Windows NT体系结构等。 第11章 网络编程ppt课件(全)任务3:TCP/IP体系结构【任务内容】了解TCP/IP体系结构【能力目标】了解TCP/IP协议的概念和功能了解TCP/I
4、P协议的结构和特点了解在TCP/IP参考模型中每层的具体协议和其功能了解TCP与UDP的特点和区别11.1 网络编程的基础知识第11章 网络编程ppt课件(全)TCP/IP协议(Transfer Control Protocol/Internet Protocol)叫做传输控制/网际协议,又叫网络通信协议,它包括上百个各种功能的协议,如远程登录、文件传输和电子邮件等,而TCP协议和IP协议是保证数据完整传输的两个基本的重要协议。通常说TCP/IP 是Internet协议族,而不单单是TCP和IP。TCP/IP协议的基本传输单位是数据包 (datagram)。 TCP/IP协议数据的传输基于TC
5、P/IP协议的四层结构:应用层、传输层、网络层、接口层 。第11章 网络编程ppt课件(全)TCP/IP协议具有以下特点:协议标准具有开放性,其独立于特定的计算机硬件及操作系统,可以免费使用。统一分配网络地址,使得整个TCP/IP设备在网络中都具有唯一的IP地址。实现了高层协议的标准化,能为用户提供多种可靠的服务。第11章 网络编程ppt课件(全)UDP:(1)每个数据报中都给出了完整的地址信息,因此无须建立发送方和接收方的连接。(2)UDP传输数据时是有大小限制的,每个被传输的数据报必须限定在64KB之内。(3)UDP是一个不可靠的协议,发送方所发送的数据报并不一定以相同的次序到达接收方。T
6、CP:(1)面向连接的协议,在socket之间进行数据传输之前必然要建立连接,所以在TCP中需要连接时间。(2)TCP传输数据大小限制,一旦连接建立起来,双方的socket就可以按统一的格式传输大的数据。(3)TCP是一个可靠的协议,它确保接收方完全正确地获取发送方所发送的全部数据。实际应用:(1)TCP在网络通信上有极强的生命力,例如远程连接(Telnet)和文件传输(FTP)都需要不定长度的数据被可靠地传输。但是可靠的传输是要付出代价的,对数据内容正确性的检验必然占用计算机的处理时间和网络的带宽,因此TCP传输的效率不如UDP高。(2)UDP操作简单,且仅需要较少的监护,因此通常用于局域网
7、高可靠性的分散系统中Client/Server应用程序。例如视频会议系统,并不要求音频视频数据绝对地正确,只要保证连贯性就可以了,这种情况下显然使用UDP会更合理一些。第11章 网络编程ppt课件(全)任务4:通信端口【任务内容】了解通信端口【能力目标】了解通信端口的概念及其意义11.1 网络编程的基础知识第11章 网络编程ppt课件(全)一个IP地址的端口可以有65536个端口是通过端口号来标记的,端口号只有整数,范围是从0 到65535。端口号是一个标记机器逻辑通信信道的正整数,端口号不是物理实体。IP地址和端口号组成了所谓的Socket。 端口号0到1023被系统保留,专门用于那些通用的
8、服务,例如,对于每个TCP/IP实现来说,FTP服务器的TCP端口号都是21,每个Telnet服务器的TCP端口号都是23,每个TFTP(简单文件传送协议)服务器的UDP端口号都是69,HTTP默认是80 网络上的不同服务是通过“IP+端口号”来区分,因而一台主机可以提供web服务、FTP服务等。第11章 网络编程ppt课件(全)任务5:URL概念【任务内容】了解URL概念【能力目标】了解URL概念和语法格式11.1 网络编程的基础知识第11章 网络编程ppt课件(全)URL(Uniform Resource Locator)即统一资源定位器,表示Internet上某一资源的地址,Intern
9、et上的资源包括HTML文件、图像文件、动画文件、声音文件以及其他任何内容(执行数据库查询和Internet搜索)。URL的语法格式是::/:/# 例如:(1) 传输协议:/主机名(2)68 传输协议:/IP地址(3)https:/localhost:80/home/index.htm#top 传输协议:/主机名:端口号/文件名#引用第11章 网络编程ppt课件(全)任务6:Java基本网络支持【任务内容】了解Java基本网络支持【能力目标】了解Java的网络编程的层次了解Java语言提供的相关网络功能类11.2 Java的基本网络支持第11章 网络编程ppt课件(全)Java的网络编程分为三
10、个层次。(1)最高一级的网络通信就是从网络上下载小应用程序,客户端浏览器通过HTML文件中的标记来识别小程序,并解析小程序的属性,通过网络获取小程序的字节码文件。(2)次一级的通信就是通过类URL对象指明文件所在的位置,并从网络上下载声音和图像,然后对声音播放和图像显示。(3)最低一级的通信是利用包中提供的类直接在程序中实现网络通信。针对不同层次的网络通信,Java语言提供的网络功能有4大类:URL、InetAddress、Socket、Datagram。 第11章 网络编程ppt课件(全)Java网络编程中主要使用包中的以下类。面向IP层的类:InetAddress。面向应用层的类:URL、
11、URLConnection。TCP协议相关类:Socket、ServerSocket。UDP协议的类:DatagramPacket、DatagramSocket、MulticastSocket。第11章 网络编程ppt课件(全)在使用包中的这些类时,可能产生的异常如下:BindException:套接字绑定异常类。ConnectException:套接字绑定异常类。ProtocolException:远程连接异常类。SocketException:套接字异常类。UnKnownHostException:未知定主机异常类。UnKnownServiceException:未知服务异常类。Malfo
12、rmedURLException:错误的URL异常类。NoRouteToHostException:无路由器而无法连接主机异常类。第11章 网络编程ppt课件(全)任务7:基于URL的网络程序设计编程【任务内容】URL类的使用【能力目标】掌握URL类的构造方法掌握获取URL对象相关信息的常用方法【任务分析】要实现该任务首先要用URL类去创建一个URL对象,并指定其连接的URL地址,然后使用其常用方法将其信息显示出来。11.3 基于TCP协议的网络编程第11章 网络编程ppt课件(全)/案例:URLDemo.java,创建一个参数为的URL对象,并输出该对象的信息 import .*;publi
13、c class URLDemo public static void main(String args) try URL url = new URL();/ 创建URL对象 System.out.println(协议 : + url.getProtocol();/ 显示URL的协议 System.out.println(主机 : + url.getHost();/ 显示URL中的主机名 System.out.println(文件名 : + url.getFile();/ 显示URL中的文件名 System.out.println(端口号 : + url.getPort();/ 显示URL中的端
14、口号 System.out.println(引用 : + url.getRef();/ 显示URL中的引用 System.out.println(查询 : + url.getQuery();/ 显示URL中的查询 System.out.println(路径 : + url.getPath();/ 显示URL中的文件路径 System.out.println(用户信息 : +url.getUserInfo();/ 显示URL中的用户信息 System.out.println(权限 : + url.getAuthority();/ 显示URL中的权限 catch (MalformedURLExce
15、ption e) System.out.println(error : + e.getMessage(); / 显示异常信息第11章 网络编程ppt课件(全)1. URL类URL类表示一个统一资源定位器,它是指向互联网上某一资源的指针,这个资源可以是主机上的一个文件或路径,也可以是文件上的一个引用。 示例: URLReader .java第11章 网络编程ppt课件(全)2. URLConnection类URLConnection类支持URL连接的输入/输出流方式的通信,并可以获得URL对象资源的相关信息。 示例:URLConnectionDemo .java第11章 网络编程ppt课件(全)
16、3. InetAddress类InetAddress类用于表示一个IP地址。 示例:InetAddressDemo .java第11章 网络编程ppt课件(全)任务8:基于Socket的Java网络编程【任务内容】基于套接字的网络通信程序设计【能力目标】掌握套接字通信的程序设计思想及开发流程掌握ServerSocket类的使用方法掌握Socket类的使用方法学会实现客户端与服务器端之间互相发送、接收消息【任务分析】先使用ServerSocket类创建聊天服务器,利用ServerSocket类对象的accept()方法来阻塞等待客户请求,当请求到来则产生一个Socket对象,输出客户端请求信息,
17、并给客户端返回服务器端的输入信息。11.3 基于TCP协议的网络编程第11章 网络编程ppt课件(全)案例:TalkServer.java /TalkClient.java 上例实现了使用应用层协议访问网络资源 ,但是在网络应用中,仅仅使用这些应用层协议访问网络是远远不够的。 当你需要编写一个客户/服务模式的网络应用系统时就很难使用这些高层协议来实现这种网络应用。在网络程序设计中常用的套接字(Socket)通信 Socket是简化编写基于TCP协议的网络应用程序,对TCP进行了封装从而形成一个简便的开发包 。第11章 网络编程ppt课件(全)1. Socket和连接Socket是由IP地址和端
18、口号唯一确定的 。在Client/Server模式下,通常按照它们在网络中所起的作用不同,可以分为两类:客户端和服务器端。 服务器端:服务器端的Socket始终在监听指定的端口是否有连接请求,如果发现客户端Socket向其发出连接请求,且服务器接受连接请求,这样,两个Socket对象之间就创建了连接,如图11-5所示。 图11-5 Client/Server模式示意图第11章 网络编程ppt课件(全)(2) 客户端:客户端需要创建和服务器端的连接,就必须事先知道服务器的主机名和提供服务的端口号。有了这些信息以后,当客户端发出的建立连接的请求被服务器端接受时,客户机上就会创建一个Socket对象
19、。利用这个Socket对象,客户端就可以实现与服务器端的通信。第11章 网络编程ppt课件(全)总结:这种工作过程主要包含下面四个基本步骤: 创建Socket对象。 打开连接到Socket对象的输入/输出流。 按照一定的协议对Socket对象进行读/写操作。 关闭Socket对象(即释放Socket对象所绑定的连接)。第11章 网络编程ppt课件(全)2. Socket类Java在包中提供了两个类Socket和ServerSocket,分别用来表示双向连接的客户端和服务器端。 例如,要求请求与一台IP地址为、端口号为2000的远程机器之间建立连接,可以用如下语句创建:trySocket soc
20、ket=new Socket(6,2000);catch(IOException e)e.printStackTrace(); 第11章 网络编程ppt课件(全)3. ServerSocket类 服务器端需要由ServerSocket类来实现服务器端的Socket。ServerSocket对象监听网络中来自客户端的服务请求,它根据请求来创建连接,并响应客户请求的服务。例如,要创建一个监听8080端口的Socket服务器端,可以使用下面的语句来实现。 ServerSocket server = new ServerSocket(8080);第11章 网络编程ppt课件(全)要构建客户/服务模式中
21、的服务器端通常需要5个步骤:(1) 创建一个ServerSocket对象,以实现对指定端口的监听。可用下面的程序语句来创建:ServerSocket server = new ServerSocket(port);(2) 服务器无限期地监听客户连接请求。为了监听客户连接,程序调用ServerSocket方法accept,如下面的程序段:Socket connection = server.accept();当与一个客户建立连接,将返回一个Socket对象。该套接字允许服务器与客户交互。(3) 通过获取的Socket对象来取得OutputStream和InputStream对象,使服务器能够通过
22、发送和接收字节与客户进行通信。(4) 通信阶段。在这个阶段中,客户和服务器通过OutputStream和InputStream对象进行通信。(5) 当传输完成时,服务器通过调用流和套接字的close()方法关闭连接。第11章 网络编程ppt课件(全)一个典型的创建Server端ServerSocket的过程:ServerSocket server = null;try server = new ServerSocket(2000); / 创建一个ServerSocket在端口2000监听客户请求 catch (IOException e) System.out.println(can not
23、listen to : + e);Socket socket = null;try socket = server.accept(); / accept()是一个阻塞的方法,一旦有客户请求,它就会返回一个Socket对象用于同客户进行交互 catch (IOException e) System.out.println(Error: + e);第11章 网络编程ppt课件(全)任务9:什么是数据报 【任务内容】了解数据报【能力目标】了解数据报的概念和相关应用了解UDP的概念和工作过程11.4 基于UDP协议的网络编程第11章 网络编程ppt课件(全)数据报(Datagram)是通过网络传递的一个独立的、自我封装的数据包,它可以从网络中的一个点传递到另一个点。数据报通信是以UDP协议为基础的。UDP的数据传输机制与TCP不同。用户数据报协议(User Datagram Protocol,UDP)是一种不可靠的、无连接和面向消息的协议。 第11章 网络编程ppt课件(全)通过UDP的UDP端口来实现UDP协议的网络通信。其工作过程如下:(1) 创建一个适当的要发送且注明收发人地址的数据报。(2) 为一个特定的应用程序建立一个传输端口来传送和接收数据报。(3) 将数据报插入一个传输端口中进行传输。(4) 等待接收来自于传输端口的一个数据报。(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度安全生产月宣传品采购与分发合同
- 2024年度建设施工合同工程质量与工程款支付规定
- 2024年企业环保设施建设和运营合同
- 04版离婚合同:三个孩子的监护权、财产分配及赡养费
- 2024聘用驾驶员合同书
- 2024年建筑基础土石方作业合同
- 安利心态课件教学课件
- 催收员试用期转正工作总结(6篇)
- 2024年度ABC电子科技有限公司手机代理销售合同
- 2024年大型物流中心建设与运营合同
- 市政管道开槽施工-市政排水管道的施工
- 人工智能在教育行业中的应用与管理
- 心衰合并胸腔积液的护理Ppt
- 酒精戒断综合征护理查房课件
- 计算机应用与人工智能基础项目9 人工智能
- 人教版九年级化学上册第六单元课题3-二氧化碳和一氧化碳说课稿
- 物业管理应急响应能力提升及案例分析
- 电器设备安装安全操作规程
- 气液两相流讲稿
- 2023铁矿石 钍含量的测定偶氮胂Ⅲ分光光度法
- 《中国药典》2023年版目录
评论
0/150
提交评论