网站大量收购独家精品文档,联系QQ:2885784924

(CS环境下的Java应用程序运行过程讲解.docVIP

(CS环境下的Java应用程序运行过程讲解.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(CS环境下的Java应用程序运行过程讲解

C/S环境下的Java应用程序运行过程讲解 2007-06-05 点击: 1242   客户机/服务器在分布处理过程中,使用基于连接的网络通信模式。该通信模式首先在客户机和服务器之间定义一套通信协议,并创建一Socket类,利用这个类建立一条可靠的链接;然后,客户机/服务器再在这条链接上可靠地传输数据。客户机发出请求,服务器监听来自客户机的请求,并为客户机提供响应服务。这就是典型的请求--应答 模式。下面是客户机/服务器的一个典型运作过程:   1、服务器监听相应端口的输入;   2、客户机发出一个请求;   3、服务器接收到此请求;   4、服务器处理这个请求,并把结果返回给客户机;   5、重复上述过程,直至完成一次会话过程。   按照以上过程,我们使用Java语言编写一个分别针对服务器和客户机的应用程序(Application)。该程序在服务器上时,程序负责监听客户机请求,为每个客户机请求建立Socket   连接,从而为客户机提供服务。本程序提供的服务为:读取来自客户机的一行文本,反转该文本,并把它发回给客户机。   通过该程序实例我们看到,使用Java语言设计C/S程序时需要注意以下几点:   (1)、 服务器应使用ServerSocket   类来处理客户机的连接请求。当客户机连接到服务器所监听的端口时,ServerSocket将分配一新的Socket   对象。这个新的Socket 对象将连接到一些新端口,负责处理与之相对应客户机的通信。然后,服务器继续监听ServerSocket,处理新的客户机连接。   Socket 和ServerSocket 是Java网络类库提供的两个类。 (2)、服务器使用了多线程机制。Server对象本身就是一个线程,它的run()方法是一个无限循环,用以监听来自客户机的连接。每当有一个新的客户机连接时,ServerSocket就会创建一个新的Socket类实例,同时服务器也将创建一新线程,即一个Connection 对象,以处理基于Socket 的通信。与客户机的所有通信均由这个Connection 对象处理。Connection的构造函数将初始化基于Socket 对象的通信流,并启动线程的运行。与客户机的通信以及服务的提供,均由Connection对象处理。   (3)、客户机首先创建一Socket对象,用以与服务器通信。之后需创建两个对象:DataInputStream   和PrintStream,前者用以从Socket 的InputStream   输入流中读取数据,后者则用于往Socket的OutputStream   中写数据。最后,客户机程序从标准输入(如:控制台)中读取数据,并把这些数据写到服务器,在从服务器读取应答消息,然后把这些应答消息写到准输出。   实例: // Server.java    import java.io.*;    import java.net.*;    public class Server extends Thread    {        public final static int Default_Port=6543;        protectd int port;        protectd ServerSockt listen_socket;    // 定义出错例程:如果出现异常错误,退出程序。    Public static void fail(Exception e, String msg)    {        System.err.println(msg  :   e);        System.exit(1);    }    // 定义并启动服务器的Socket    例程,监听客户机的连接请求。    public Server(int port)    {    if(port == 0) port = Default_Port;    this.port = port;    try    {    listen_socket = new ServerSocket(port);    }    catch(IOException e) fail(e, Exception creating server    socket);    System.out.println(Server: listening on port  port);    This.start();    }    /*    下面为服务器监听线程的主程序。该线程一直循环执行,监听并接受客户机发出的连接    请求。对每一个连接,均产生一个连接对象与之对应,通过Socke

文档评论(0)

84537592 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档