Java高级程序设计(第二版)课件第8章 Java网络编程_第1页
Java高级程序设计(第二版)课件第8章 Java网络编程_第2页
Java高级程序设计(第二版)课件第8章 Java网络编程_第3页
Java高级程序设计(第二版)课件第8章 Java网络编程_第4页
Java高级程序设计(第二版)课件第8章 Java网络编程_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java高级程序设计第8章Java网络编程第8章Java网络编程8.1 网络编程基础8.2 Java网络编程API8.3 Java编写TCP网络程序8.4 Java编写UDP网络程序本章目标

Java网络编程API

理解客户/服务器模式

TCP套接字网络编程本章任务任务1读取网页文件任务2一对一聊天室任务3多人聊天室8.1 网络编程基础8.1.1统一资源定位符URLURL(UniformResourceLocator,统一资源定位符),代表了资源在Internet/Intranet上的位置,是网上资源的一个指针一个完整的URL的格式如下:协议://主机域名:端口/路径文件名/#锚点?请求字符串8.1.2Internet编址与端口号Internet上的每一台计算机都有一个地址。Internet地址是网络上标识每台计算机的唯一定义的数IP地址是以数字来代表的主机地址,比较难记,为了使用和记忆方便,也为了便于网络地址的分层管理和分配,Internet在1984年采用了域名管理系统(DomainNameSystem)本地操作系统会给那些有需求的进程分配协议端口(protocolport,即常说的端口),每个协议端口由一个正整数标识,如:80、139、445等。TCP/IP为特定协议保留了低端的1024个端口。如,端口21是FTP端口,23是Telnet端口,25是E-mail端口,110是POP3端口,80是HTTP端口,119是为网络新闻端口等当目的主机接收到数据报后,将根据报文首部的目的端口号,把数据发送到相应端口,而与此端口相对应的那个进程将会领取数据并等待下一组数据的到来。8.1.3客户/服务器模式客户机/服务器(Client/Server)模式如图所示8.1.4TCP/IP与UDP协议要使计算机连成的网络能够互通信息,需要有一组共同遵守的通信标准,这就是网络协议,不同的计算机之间必须使用相同的通讯协议才能进行通信。在Internet中TCP/IP协议是使用最为广泛的通讯协议。TCP协议负责把数据分成若干个数据包,并给每个数据包加上包头(就像给一封信加上信封),包头上有相应的编号,以保证在数据接收端能将数据还原为原来的格式IP协议在每个包头上再加上接收端主机地址,这样数据找到自己要去的地方(就像信封上要写明地址一样),如果传输过程中出现数据丢失、数据失真等情况,TCP协议会自动要求数据重新传输,并重新组包IP协议保证数据的传输,TCP协议保证数据传输的质量UDP协议的主要作用是将网络数据流量压缩成数据报的形式。一个典型的数据报就是一个二进制数据的传输单位。每一个数据报的前8个字节用来包含报头信息,剩余字节则用来包含具体的传输数据UDP和TCP协议的主要区别是两者在如何实现信息的可靠传递方面不同8.2 Java网络编程API任务1读取网页文件编程实现:读取指定网页文件的属性和内容,并回显至控制台。运行效果如图所示。知识点:URL类、URLConnection类、InetAddress类Java的网络编程API所提供的基本网络类和接口,都包含在包中。包所包含的类和接口,见教材表8-2、表8-3一、URL类Java预置了.URL类来解决网络资源的传输问题。它提供了许多方法来完成对远程站点的访问和操作,使得网络编程变得非常容易。URL类常用一些get方法获取URL的信息,除了端口为int类型外其余都是String类型的。URL类的常用方法,见教材表8-4二、URLConnection类URLConnection类是一个抽象类,是实现应用程序和URL之间通信连接的所有类的超类,该类的实例可以用来读写URL所指的资源在创建了URL对象之后,可以使用该URL对象的openConnection()方法来创建URLConnection对象,之后就可以使用下面的方法完成各种各样的操作三、InetAddress类.InetAddress类的对象封装了远程主机的IP地址和域名,其中包含很多和Java网络编程有关的方法和属性InetAddress类没有公共的构造方法,但是可以通过一些静态的方法来得到InetAddress对象InetAddress类常用的方法,见教材表8-68.3 Java编写TCP网络程序任务2一对一聊天室编程实现:基于客户机/服务器模式的一对一聊天室,服务器启动后,客户机可连接服务器,并且客户机与服务器可以对话。运行效果如图所示。知识点:TCP/IP套接字区分不同应用程序进程间的网络通信和连接,主要有3个参数:通信的目的IP地址、使用的传输层协议(TCP或UDP)和使用的端口号。Socket的原意是“插座”,通过将这3个参数结合起来,与一个“插座”Socket绑定,应用层就可以和传输层通过套接字接口区分来自不同应用程序进程或网络连接的通信,实现数据传输的并发服务。一、服务器套接字要实现客户机/服务器模式的网络程序,需要先创建和运行服务器端的程序,再创建和运行客户端程序,服务器监听是否有客户机的连接请求,客户机主动连接服务器,连接成功后后客户机与服务器就可以进行通信了ServerSocket是服务器套接字,它监听等待客户机的请求,它基于客户机的请求执行某些操作,然后可能向请求者返回结果TCP/IP协议套接字的传输过程二、客户套接字当客户程序需要与服务器程序通信的时候,客户程序需要在客户机创建一个Socket对象如果创建了一个Socket对象,那么它可能通过调用Socket的getInputStream()方法从服务程序获得输入流读传送来的信息,也可能通过调用Socket的getOutputStream()方法获得输出流来发送消息。在读写活动完成之后,客户程序调用close()方法关闭流和流套接字任务3多人聊天室编程实现一个多人聊天室,每个客户连上聊天服务器后都可以发言,聊天室的所有人也都看得到发言。运行效果如图所示,分别启动多个客户端,每个客户端的客户发言其他聊天室中的客户也都看得到8.4 Java编写UDP网络程序如果将套接字通信方式比喻成“打电话”,那么UDP通信方式就可以看作是“发送邮件”的过程基于UDP的基本通信模式:(1)将数据打包,称为数据包,然后将数据发往目的地(2)接收别人发来的数据包,然后查看数据包中的内容实训任务[实训8-1]简述socket的定义,在建立socket连接时服务器和客户端有什么

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论