收藏 分享(赏)

第10章+Java网络程序设计.ppt

上传人:scg750829 文档编号:4606815 上传时间:2019-01-04 格式:PPT 页数:14 大小:177.50KB
下载 相关 举报
第10章+Java网络程序设计.ppt_第1页
第1页 / 共14页
第10章+Java网络程序设计.ppt_第2页
第2页 / 共14页
第10章+Java网络程序设计.ppt_第3页
第3页 / 共14页
第10章+Java网络程序设计.ppt_第4页
第4页 / 共14页
第10章+Java网络程序设计.ppt_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、第10章 Java网络程序设计,湖南科技大学计算机科学与技术系,2,主要内容,网络程序设计概述 包 服务器程序设计 客户端程序设计,湖南科技大学计算机科学与技术系,3,10.1 网络程序设计概述,包提供了与网络通信相关的类,这些类提供了独立于系统平台的通信机制。 Java的通信程序通常在应用层运行,不需要关心网络底层的通信细节。 Java语言的C/S编程是网络上相互通信的一种基本方式 客户是指连接到一个系统并请求服务的程序。 服务器是运行在一台机器上并在网络的特定部分(一个端口)进行监听,等待其它程序连接的程序。 服务器通常以并发方式为多于一个的连接程序(客户)提供服务,服务器编程要求具有多线

2、程机制。,湖南科技大学计算机科学与技术系,4,10.1 网络程序设计概述,为了使用Java在Internet上利用TCP协议进行C/S编程,一个客户程序首先要和一个服务程序建立连接(connection)。 连接的两端绑定一个套接字(socket),两端程序借助套接字通信 。 客户程序和服务程序通过读写套接字完成通信。,湖南科技大学计算机科学与技术系,5,10.2 包,在包中,使用基于UDP协议的通信应用 使用类DatagramPacket,DatagramSocket和MulticastSocket完成基于UDP协议的通信应用。 在包中,使用基于TCP协议的通信应用 方法1:使用类URL完成

3、基于TCP协议的通信应用。 方法2:使用类Socket和类ServerSocket完成基于TCP协议的通信应用。,湖南科技大学计算机科学与技术系,6,10.2 包,类URL 类URL提供了一种相对高级的、访问Internet资源的方法。 类 URL代表一个统一资源定位符,它是指向互联网“资源”的指针。资源可以是简单的文件或目录,也可以是对更为复杂的对象的引用,例如对数据库或搜索引擎的查询。 构造方法 UrlTest.java 主要方法 UrlReader.java,湖南科技大学计算机科学与技术系,7,10.2 包,类Socket和类ServerSocket Socket类实现客户端,Serve

4、rSocket类实现服务端。 Socket通信机制 绑定:服务/客户双方必须将Socket对象“bind”在一指定的IP上,并指明在哪一个“port”上提供服务。 连接:服务器使用“accept”方法侦听呼叫、等待连接、接受客户。若无客户呼叫,则服务器会自动阻塞,直到接收到来自客户的连接请求而被唤醒、accept的后续程序才会继续执行。 通信:可利用Socket提供的“I/O流”方法来传递和接收数据。 释放:双方通信完毕后,都须调用“close”方法拆除连接、释放资源。,湖南科技大学计算机科学与技术系,8,10.3 服务器程序,服务器的一个典型的运作过程:1、服务器监听相应端口的输入;2、当接

5、收到客户机一个请求时,创建一个新线程从套接字读取数据;3、服务器处理该请求;4、服务器返回处理请求结果到客户机; 5、服务器重新监听相应端口的输入。,湖南科技大学计算机科学与技术系,9,10.3 服务器程序,类ServerSocket 实现服务器套接字。服务器套接字等待请求通过网络传入。它基于该请求执行某些操作,然后可能向请求者返回结果。 主要方法 ServerSocket( int port, int backlog, InetAddress bindAddr ) 使用指定的端口、侦听 backlog 和要绑定到的本地 IP 地址创建服务器。 bind( SocketAddress endp

6、oint ) 将 ServerSocket 绑定到特定地址(IP 地址和端口号)。 accept( ) 侦听并接受到此套接字的连接。 close( ) 关闭此套接字。 示例: MyServer.java,湖南科技大学计算机科学与技术系,10,10.4 客户机程序,客户程序的编写步骤: 1、打开一个socket ; 2、对socket打开一个输入流和输出流 ; 3、按服务程序的要求从stream中读数据或写数据 ; 4、关闭该stream; 5、关闭该socket。,湖南科技大学计算机科学与技术系,11,10.4 客户机程序,Socket类 实现客户端套接字(也可以就叫“套接字”)。套接字是两台

7、机器之间的通信端点。 方法 Socket(InetAddress address, int port) 创建一个流套接字并将其连接到指定 IP 地址的指定端口号。 getInputStream() 返回此套接字的输入流。 getOutputStream() 返回此套接字的输出流。 示例:MyClient.java,湖南科技大学计算机科学与技术系,12,服务器/客户机,一个服务器可以同时提供多个不同服务,不管该服务是连结的(TCP),还是非连接的(UDP)。 综合实例: 服务器端:CSServer.java UserThread.java 客户端:CSClient.java UserThread.java,湖南科技大学计算机科学与技术系,13,小结,Java网络程序设计 Java Socket编程,湖南科技大学计算机科学与技术系,14,课后练习,查询API文档中关于ServerSocket类与Socket类的说明。 编程 编写服务器/客户机对话程序。 编写两个客户通过第三方代理进行会话程序。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 网络科技 > Java

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报