客户服务器模型.ppt

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
客户服务器模型

广东轻院.JAVA程序设计 第9章Socket编程 本章提要 ◆ 客户/服务器模型 ◆ Java编写客户应用程序 ◆ Java编写服务器应用程序 本章知识要点 客户/服务器模型 TCP/IP协议族 套接字(Socket) Java编写客户应用程序 Java编写服务器应用程序 9.1 客户/服务器模型 客户/服务器模型 客户/服务器模型的主要思想是要将应用程序的数据表示与数据处理和数据存储分开。 客户方主要是向服务器发出数据处理请求。 服务器方则是对数据处理请求进行接收,然后做出相应处理。 TCP/IP协议族 国际标准化组织(ISO)制订了开放系统互连(Open Systems Interconnection)参考模型 协议 协议就是约定,就是双方为了协调地做一件事情而共同遵循的规则。 套接字(Socket) 套接字包含主机地址与服务端口号。 在Internet中,主机地址就是客户程序或服务器程序所在的主机的IP地址。 端口与则是主机彼此通信时所有的通口 Socket 类 Socket是支持TCP协议的基本类。 Socket类提供了一些进行流输入/输出的方法。 ServerSocket类 ServerSocket是一个用于监听客户请求的Internet服务器程序的类。 作为服务器方程序必须使用ServerSocket类。 ServerSocket实际上并不执行数据通信工作,它仅仅接收客户请求,然后为客户创建一个相对应的Socket对象。 9.2 创建服务器应用程序 案例——用户注册模块之服务器端 提出问题 我们要开发用户注册模块中的服务器端应用,以实现远程用户通过Applet将信息保存到中心数据中。服务器程序需要用Java来开发,以下是服务器功能: (1)服务器应能够接收远程客户机上发来的用户资料。 (2)服务器应能够将用户资料保存在customer.dat文件中。 ???????? (3)服务器是多线程的,能够同时满足多个客户机的访问。 (4)服务器在端口2001上运行。 分析问题 确定创建服务器所要使用的类 创建服务器 确定监听机制 确定数据通信机制 解决问题 1.创建服务器所要使用的类 2.创建服务器类 3.确定监听机制 4.确定数据通信机制 5.完成服务器程序 6.验证程序 创建服务器所要使用的类 ServerSocket类 accept()方法 accept()方法是阻塞方式,当有连接请求过来时才执行返回。 它将创建一个新的套接字与客户套接字建立通信。 当有很多请求发往服务器时,服务器套接字(ServerSocket)将创建多个新的套接字与不同的客户进行通信。 创建服务器类 class MyServer extends Thread { public MyServer(){ try{ //创建ServerSocket对象,监听端口为2001 serverSocket = new ServerSocket(2001); } catch(IOException e){ System.out.println(“server is not start”+ e); } System.out.println(“Server is listening …”); this.start();//引发监听线程 } } 确定监听机制 服务器的run()方法主要是进行监听工作。 public void run() { try{ //无限循环 while(true) { //调用了阻塞方式的accept()方法 Socket client = serverSocket.accept(); //accept()接收到客户请求返回,创建DataCommutation对象 DataCommutation com = new DataCommutation(client); com.start(); } } catch(IOException e){ System.out.println(“listening is error ”+e); } } 确定数据通信机制 DataCommutation线程类主要是在服务器套接字建立好连接之后,负责与客户端的一切通信工作。 // DataCommutation线程类代码 Class DataCommutation extends Thread { Customer customer = null; /

文档评论(0)

daoqqzhuan2 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档