书签 分享 收藏 举报 版权申诉 / 57
上传文档赚钱

类型基于任务驱动模式的Java程序设计(西电版)第十章-网络编程课件.pptx

  • 上传人(卖家):晟晟文业
  • 文档编号:5224212
  • 上传时间:2023-02-18
  • 格式:PPTX
  • 页数:57
  • 大小:789.73KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《基于任务驱动模式的Java程序设计(西电版)第十章-网络编程课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    基于 任务 驱动 模式 Java 程序设计 西电版 第十 网络 编程 课件
    资源描述:

    1、高职高专“十二五”规划教材java网络编程java计算机网络是现代通信技术与计算机技术相结合的产物。所谓计算机网络,就是把分布在不同地理区域的计算机与专门的外部设备用通信线路互联成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息,共享硬件、软件、数据信息等资源。通俗来说,网络就是通过电缆、电话线、或无线通信等互联的计算机的集合。通过网络,可以和其他联到网络上的用户一起共享网络资源,如磁盘上的文件及打印机、调制解调器等,也可以和他们互相交换数据信息。java网络时代数据的传输如图10.1所示。图10.1 网络时代数据的传输java那么,网络上的计算机之间又是如何交换信息的呢

    2、?就像我们说话用某种语言一样,在网络上的各台计算机之间也有一种语言,这就是网络协议。不同的计算机之间必须使用相同的网络协议才能进行通信。当然,网络协议也有很多种,具体选择哪一种协议则要根据情况而定。Internet上的计算机使用的是TCP/IP协议。java目前较为流行的网络编程模型是客户机/服务器(C/S)结构。即通信双方的一方作为服务器等待客户提出请求并予以响应。客户则在需要服务时向服务器提出申请。服务器一般作为守护进程要始终运行,监听网络端口,一旦有客户请求,就会启动一个服务进程来响应该客户,同时自己继续监听服务端口,使后来的客户也能及时得到服务。java第一节 网络技术的基本概念jav

    3、a传输控制协议/因特网互联协议(Transmission Control Protocol/Internet Protocol,TCP/IP),又名网络通信协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。TCP/IP定义了电子设备如何联入因特网,以及数据如何在它们之间传输的标准。协议采用了四层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。也就是说,TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台联网设备规定一个地址。第一节 网络技术的基

    4、本概念一、TCP/IP协议集合java尽管TCP/IP协议的名称中只有TCP这个协议名,但是在TCP/IP的传输层同时存在TCP和UDP两个协议。TCP是面向连接的通信协议,通过三次握手建立连接,通信完成时要拆除连接,由于TCP是面向连接的所以只能用于端到端的通信。TCP提供的是一种可靠的数据流服务,采用“带重传的肯定确认”技术来实现传输的可靠性。TCP还采用一种称为“滑动窗口”的方式进行流量控制,所谓窗口实际表示接收能力,用以限制发送方的发送速度。第一节 网络技术的基本概念java如果IP数据包中有已经封好的TCP数据包,那么IP将把它们向“上”传送到TCP层。TCP将包排序并进行错误检查,

    5、同时实现虚电路间的连接。TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。第一节 网络技术的基本概念java面向连接的服务(如Telnet、FTP、rlogin、X Windows和SMTP)需要高度的可靠性,所以它们使用了TCP。DNS在某些情况下使用TCP发送和接收域名数据库,而使用UDP则传送有关单个主机的信息。第一节 网络技术的基本概念javaUDP是面向无连接的通信协议,UDP数据包括目的端口号和源端口号信息,由于通信不需要连接,所以可以实现广播发送。UDP通信时不需要接收方确认,属于不可靠的传输,可能会出现丢包现象,实际应用中要求程序员编程验证。

    6、第一节 网络技术的基本概念javaUDP与TCP位于同一层,但它不负责数据包的顺序、错误或重发。因此,UDP不应用于那些使用虚电路的面向连接的服务,而主要应用于那些面向查询应答的服务,如NFS。相对于FTP或Telnet,这些服务需要交换的信息量较小。使用UDP的服务包括NTP(网络时间协议)和DNS(DNS也使用TCP)。第一节 网络技术的基本概念java欺骗UDP包比欺骗TCP包更容易,因为UDP没有建立初始化连接(也可以称为握手,因为在两个系统间没有虚电路)。也就是说,与UDP相关的服务面临着更大的危险。第一节 网络技术的基本概念java网际互联协议(IP)用于数据包在互联的网络设备间传

    7、送。这些设备都带有一个称为IP地址的逻辑地址。由网际互联协议提供的IP地址具有特定的形式。每个IP地址都是32位的数值,通常由4个范围在0255之间的8位数值表示,如192.168.0.2。第一节 网络技术的基本概念二、IP地址与端口java在Internet上,各主机间通过TCP/IP协议发送和接收数据包,各个数据包根据其目的主机的IP地址来进行互联网络中的路由选择。可见,数据包顺利地传送到目的主机是可以的。但是大多数操作系统都支持多程序(进程)同时运行,那么目的主机应该把接收到的数据包传送给同时运行的哪一个进程呢?为了解决这个问题,端口(port)机制便被引入进来。第一节 网络技术的基本概

    8、念java本地操作系统会给那些有需求的进程分配协议端口(protocol port,即我们常说的端口),每个协议端口由一个正整数标识,如80,139,445,等等。当目的主机接收到数据包后,将根据包文首部的目的端口号,把数据发送到相应端口,而与此端口相对应的那个进程将会读取数据并等待下一组数据的到来。第一节 网络技术的基本概念java不光接收数据包的进程需要开启端口,发送数据包的进程也需要开启端口,这样,数据包中将会标识有源端口,以便接收方能顺利地回传数据包到这个端口。如果没有指明端口号,则使用服务文件中服务器的端口。每种协议有一个缺省的端口号,在端口号未指明时使用该缺省端口号。第一节 网络技

    9、术的基本概念java端口号应用如下:21 FTP:传输文件。23 Telnet:提供远程登录。25 SMTP:传递邮件信息。67 BOOTP:在启动时提供配置情况。80 HTTP:传输Web页。109 POP:使用户能访问远程系统中的邮箱。第一节 网络技术的基本概念java统一资源定位符(Uniform Resource Locator,URL)是对可以从互联网上得到的资源位置和访问方法的一种简洁表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。第一节 网络技术的基本概念三、URLjavaURL的组成形式为protoco

    10、l:/resourceName,其中协议名(protocol)指明获取资源所使用的传输协议,如http、ftp、gopher、file等;资源名(resourceName)则应该是资源的完整地址,包括主机名、端口号、文件名或文件内部的一个引用。例如:http:/ 协议名:/机器名+文件名http/:80/Gamelan/network.html#BOTTOM 协议名:/机器名+端口号+文件名+内部引用第一节 网络技术的基本概念java第二节 Java网络技术架构javaJava最初是作为一种网络编程语言出现的,它能够使用网络上的各种资源和数据,与服务器建立各种传输通道,将自己的数据传送到网络的

    11、各个地方。第二节 Java网络技术架构javaJava中有关的网络功能都定义在程序包中。Java所提供的网络功能可分为以下三种:URL和URLConnection是功能中最高级的一种。通过URL的网络资源表达方式,很容易确定网络上数据的位置。利用URL的表示和建立,Java程序可以直接读取网络上的数据,或把自己的数据传送到网络的另一端。所谓Socket,可以想象成两个不同的程序通过网络的通道,这是传统网络程序中最常用的方法。一般在TCP/IP网络协议下的客户服务器软件采用Socket作为交互的方式。第二节 Java网络技术架构javaDatagram是功能中最低级的一种。其他网络数据传送方式都

    12、假想在程序执行时,建立一条安全稳定的通道。但是以Datagram的方式传送数据时,只是把数据的目的地记录在数据包中,然后就直接放在网络上进行传输,系统不保证数据一定能够安全送到,也不能确定什么时候可以送到。也就是说,Datagram不能保证传送质量。第二节 Java网络技术架构java第三节 URL 编 程javaJava网络API通过提供URL类让我们能在源代码层使用URL。每一个URL对象都封装了资源的标识符和协议处理程序。通过调用URL构造函数来建立URL对象后,我们可以通过调用URL的方法来提取URL的组件,打开一个输入流(Input Stream),从中读取信息,获得某个能方便检索资

    13、源数据的对象的引用,然后比较两个URL对象中的URL,获得资源的连接对象,该连接对象允许代码了解并写入更多的资源信息。第三节 URL 编 程java为了表示URL,中实现了类URL。我们可以通过下面的构造方法来初始化一个URL对象:(1)public URL(String spec);通过一个表示URL地址的字符串可以构造一个URL对象。URL urlBase=new URL(http:/ URL 编 程一、创建URL对象java(2)public URL(URL context,String spec);通过基于URL和相对URL构造一个URL对象。URL net263=new URL(ht

    14、tp:/ index263=new URL(net263,index.html);(3)public URL(String protocol,String host,String file);new URL(http,/pages/G.html);第三节 URL 编 程java(2)public URL(URL context,String spec);通过基于URL和相对URL构造一个URL对象。URL net263=new URL(http:/ index263=new URL(net263,index.html);(3)public URL(String protocol,String

    15、host,String file);new URL(http,/pages/G.html);(4)public URL(String protocol,String host,int port,String file);URL gamelan=new URL(http,80,Pages/Gwork.html);第三节 URL 编 程java注意:类URL的构造方法都声明抛出非运行时异常(MalformedURLException),因此生成URL对象时,我们必须要对这一异常进行处理,即:try URL myURL=new URL(http:/)catch(MalformedURLExcepti

    16、on e)第三节 URL 编 程java一个URL对象生成后,其属性是不能被改变的,但是我们可以通过以下类URL所提供的方法来获取这些属性:public String getProtocol():获取该URL的协议名。public String getHost():获取该URL的主机名。public int getPort():获取该URL的端口号,如果没有设置端口,返回-1。public String getFile():获取该URL的文件名。public String getRef():获取该URL在文件中的相对位置。第三节 URL 编 程二、获取URL对象的信息java public S

    17、tring getQuery():获取该URL的查询信息。public String getPath():获取该URL的路径。public String getAuthority():获取该URL的权限信息。public String getUserInfo():获得使用者的信息。public String getRef():获得该URL的锚。第三节 URL 编 程java【示例10.1】URL综合实例。import .URLEncoder;import .URLDecoder;import java.io.UnsupportedEncodingException;public class T

    18、estURL public static String testURLEncoder(String filepath)throws UnsupportedEncodingException 第三节 URL 编 程三、URL应用实例java String wwwurl=URLEncoder.encode(filepath,UTF-8);return wwwurl;public static String testURLDecoder(String wwwurl)throws UnsupportedEncodingException String filepath_new=URLDecoder.d

    19、ecode(wwwurl,UTF-8);return filepath_new;第三节 URL 编 程java public static void main(String args)throws UnsupportedEncodingException String filepath=D:TestURL.gif;String wwwurl=testURLEncoder(filepath);String filepath_new=testURLDecoder(wwwurl);System.out.println(filepath);System.out.println(wwwurl);Syst

    20、em.out.println(filepath_new);第三节 URL 编 程java第四节 Socket 编 程javaSocket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面。对用户来说,一组简单的接口就是全部,由Socket去组织数据,符合指定的协议。第四节 Socket 编 程java服务器端先初始化Socket,然后与端口绑定(Bind),对端口进行监听(Listen),调用accept(),等待客户端连接。在这时如果有个客户端初始化一个Socket,然后连接(

    21、Connect)服务器,若连接成功,则客户端与服务器端的连接就建立了。客户端发送数据请求,服务器端接收请求并处理,然后把回应数据发送给客户端,客户端读取数据,最后关闭连接,交互结束。第四节 Socket 编 程javaJava在包中提供了Socket和ServerSocket两个类,分别用来表示双向连接的客户端和服务端。其构造方法如下:Socket(InetAddress address,int port);Socket(InetAddress address,int port,boolean stream);Socket(String host,int prot);Socket(String

    22、 host,int prot,boolean stream);Socket(SocketImpl impl);一、Socket类和ServerSocket类第四节 Socket 编 程javaSocket(String host,int port,InetAddress localAddr,int localPort);Socket(InetAddress address,int port,InetAddress localAddr,int localPort);ServerSocket(int port);ServerSocket(int port,int backlog);ServerSo

    23、cket(int port,int backlog,InetAddress bindAddr);第四节 Socket 编 程java其中,address、host和port分别是双向连接中另一方的IP地址、主机名和端口号;stream指明Socket是Socket流还是Socket数据报;localPort表示本地主机的端口号;localAddr和bindAddr是本地机器的地址(ServerSocket的主机地址);impl是Socket的父类,既可以用来创建serverSocket,又可以用来创建Socket;count则表示服务端所能支持的最大连接数。例如:Socket client=n

    24、ew Socket(127.0.01.,80);ServerSocket server=new ServerSocket(80);第四节 Socket 编 程java注意,在选择端口时,必须小心。每一个端口提供一种特定的服务,只有给出正确的端口,才能获得相应的服务。01023的端口号为系统所保留,例如,http服务的端口号为80,telnet服务的端口号为21,ftp服务的端口号为23,所以我们在选择端口号时,最好选择一个大于1023的数以防止发生冲突。第四节 Socket 编 程java在创建Socket时如果发生错误,将产生IOException,在程序中必须对此作出处理。所以,在创建So

    25、cket或ServerSocket时必须捕获或抛出异常。第四节 Socket 编 程java使用Socket进行Client/Server程序设计的一般连接过程是:Server端监听某个端口是否有连接请求;若有,则Client端向Server端发出连接请求;而Server端向Client端发回接收消息。于是一个连接就建立起来了。Server端和Client端都可以通过Send、Write等方法与对方通信。二、Socket编程基本步骤第四节 Socket 编 程java对于一个功能齐全的Socket,其工作过程包含以下四个基本的步骤:(1)创建Socket。(2)打开连接到Socket的输入/输

    26、出流。(3)按照一定的协议对Socket进行读/写操作。(4)关闭Socket。第四节 Socket 编 程java【示例10.2】Socket通信实例:客户端程序与服务端程序。(1)客户端程序如下:import java.io.*;import .*;public class Client 三、Socket通信实例第四节 Socket 编 程java Socket socket;BufferedReader in;PrintWriter out;public Client()try 第四节 Socket 编 程java socket=new Socket(xxx.xxx.xxx.xxx,10

    27、000);in=new BufferedReader(new InputStreamReader(socket.getInputStream();out=new PrintWriter(socket.getOutputStream(),true);BufferedReader line=new BufferedReader(new InputStreamReader(System.in);第四节 Socket 编 程javaout.println(line.readLine();line.close();out.close();in.close();socket.close();catch(I

    28、OException e)第四节 Socket 编 程javapublic static void main(String args)new Client();第四节 Socket 编 程java(2)服务器端程序如下:import .*;import java.io.*;public class Server 第四节 Socket 编 程java private ServerSocket ss;private Socket socket;private BufferedReader in;private PrintWriter out;public Server()try 第四节 Socke

    29、t 编 程java ss=new ServerSocket(10000);while(true)socket=ss.accept();in=new BufferedReader(new InputStreamReader(socket.getInputStream();out=new PrintWriter(socket.getOutputStream(),true);第四节 Socket 编 程javaString line=in.readLine();out.println(you input is:+line);out.close();in.close();socket.close();ss.close();第四节 Socket 编 程javacatch(IOException e)public static void main(String args)new Server();第四节 Socket 编 程java谢谢

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:基于任务驱动模式的Java程序设计(西电版)第十章-网络编程课件.pptx
    链接地址:https://www.163wenku.com/p-5224212.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库