第三章系统开发的技术基础.pdfVIP

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

第三章 系统开发的技术基础 3.2 基 于 Socket的 网 络 编 程 共享白板要解决的另外一个重要问题是网络通信,即服务器如何能够把图形 图像数据通过网络可靠的传输给客户端。 TCP/IP是我们在互联网上广泛使用的协议,因此我们选择使用TCP协议来实 现数据的传输。TCP是TCP/IP体系中的运输层协议,是面向连接的,因而可以提 供可靠的,按序传送数据的服务。TCP提供的连接是双向的,是全双工的。 Socket(套接字)是TCP/IP网络中的一个节点,就象一个插头一样,把两个不同程 序连接起来,使程序之间能够互通信息。 在服务器和客户之间建立Socket连接是网络通信的一种方法。套接字是服务 器和客户之间独立于平台的连接。Java.net包提供了Socket类以代表双向连接中 的一端。同时也提供了ServerSocket类以便于服务器方面的操作。 要进行网络通信,首先要将通道建立起来,以便于在服务器和客户之间相互 交换数据。 服务器要建立一个ServerSocket对象,以便于接收客户向其发出的建立通信的 请求。随后,服务器应进入等待客户请求的状态。客户通过建立一个Socket信道 向服务器发出请求。服务器收到之后,建立一个相应的子Socket信道,服务器和 客户之间的数据通信将由这个子信道完全负责。至此,信道初步建立起来。接下 去要对数据的传送进行初始化。信道中的数据大多采用流进行传送。服务器和客 户都要对对应与各自信道的输入输出流进行初始化。 数据流初始化完毕,就可以传送数据。客户从键盘输入信息数据,送至输入 流中。清空输入流,使数据能传送过去,然后等待回答。服务器接收到客户的数 据,从键盘输入回答的数据,送到输出流中,清空输出流,使数据传送到客户。 客户从输入流得到回答,完成一个信息交换过程。 当要切断信道时,应将信道所连的输入输出流全部关闭,再关闭信道所连的 Socket对象。服务器程序还要关闭ServerSocket对象。 下图显示了服务器端和客户端的工作流程: 华南理工人学下程硕士学位论文 图3-1服务器端和客户端的工作流程 图中,我们可以看到: 1.服务器端设置一个端口号。当客户请求连接时,服务器端使用accepto方 法准备接受客户发来的连接请求。accept()方法将返回一个Socket对象,并赋给服 务器端建立的子Socket信道。我们通过该子信道和客户进行通信,声称输入流和 输出流。如果没有客户连接,accepts方法会把当前的线程阻塞,一直等待直至某 个客户将其唤醒,恢复为可行的状态继续运行。 2.客户端在指定端 口与服务器进行连接。 3客户端和服务器端都需要使用InputStream和OutputStream,得到对应的输 入输出流来进行读写操作。 3.3 多 线 程 的应 用 群体协作系统中一个很重要的技术就是多线程间的通信,因为每一个系统用 户在登录后,服务器都将分配一个线程来出理该用户的白板操作逻辑。 3.3.1多 线 程 Java程序通过流控制来执行程序流,程序中单个顺序的流控制称为线程。多 线程指的是在单个程序中可以同时运行多个不同的线程来执行不同的任务。

文档评论(0)

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

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

1亿VIP精品文档

相关文档