ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:202.12KB ,
资源ID:4848322      下载积分:2 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4848322.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(网络聊天系统的设计与实现.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

网络聊天系统的设计与实现.docx

1、网络聊天系统的设计与实现网络教育学院本科生毕业论文(设计)题 目:网络聊天系统的设计与实现学习中心: 层次:专科起点本科专业:年级:年 春/秋季学号:学生:指导教师:完成日期:年 月 日内容摘要随着互联网技术的飞速发展,网络已经成为人们生活中不可缺少的一部分, 通过网上聊天已经成为人与人之间的网络通信的聊天,交流和联系的一种方式。因此,更多的网站开始提供在线聊天功能。与此同时,以其方便,快捷,成 本低的优势,聊天室众多企业的青睐,许多企业网站也加入了聊天室,从而促进 消费者与消费者和消费者之间的通信模块。本文是一个软件工程的在线聊天系统,专注于系统的开发,使用系统的分析, 设计和思维测试软件工

2、程知识来实现的描述,其中包括三个主要方面的软件生命 周期:软件定义(问题定义,可行性研究,需求分析),软件开发(总体设计, 详细设计,编码,测试)和运行维护。通过运用软件工程知识处理实际,加强的 问题,清晰,可靠的标准化,使得程序易于维护。该软件使用 JAVA编写,具有良好的兼容性,易于实现。操作简单,使用方便结构简单,易于搜索,实用的聊天 室。关键词:网络;通信;套接字内容摘要 I引 言 41 概述 51.1 课题研究背景和意义 51.2 本文的主要内容及组织结构 52网络应用系统开发技术介绍 72.1 TCP/IP 协议概述 72.2 客户/服务器模型 72.3 Socket 网络编程 7

3、2.4 开发工具与运行环境 82.5 其他技术 83网络聊天系统的分析与设计 103.1 可行性分析 103.2 需求分析 103.3 系统总体设计 113.3.1 系统架构模型 123.3.2 功能模块设计 123.3.3 系统通信设计 123.3.4 数据库设计 134网络聊天系统详细设计及实现 144.1 服务器端设计与实现 144.1.1 服务器等待连接进程/线程设计 154.1.2 服务器处理客户端信息进程/线程设计 164.2 客户端设计与实现 164.2.1 登陆模块 164.2.2 主界面模块 164.2.3 私聊模块 194.2.4 聊天记录管理模块 215 测试 235.1

4、 软件测试概述 235.2 测试策略与结果分析 23结论 28参考文献 29引 言随着不断投入的信息技术,网络,作为一种新生事物,近年来现代技术的普 及得到了前所未有的深入,网络应用不断涌现层出不穷,所有的层级和所有年龄 的用户提供不同的个性化服务。现代小型和中小型企业的领导人认识到,进一步 提高企业信息化的必要性。为了使企业在瞬息万变的信息时代生存,适应激烈的 市场竞争,现代企业的要求是能够特别是领导具有能力的员工,实时通信系统是 搭建在员工之间的沟通和交流,是必要的条件。系统开发是一个非常复杂的系统 工程。这里,对基本的方法和系统发展的方法进行介绍,和有内容是在论文里列 出。为了提高市场竞

5、争力,我们必须全面调查和对市场的详细研究,同时也有良 好的客户服务。企业应该在复杂的环境对策。员工与员工和领导之间的交流立即 x 性就显得尤为重要,对于企业网上聊天系统是一种交流和沟通的平台,系统可以 成为中小企业沟通的理想平台。如果信息能及时反馈,及时处理并做出相应的动 作,将能进一步加强在现代经济市场的中小型企业的竞争力。网络通信是网络应用的一个重要体现。即时通讯是网络应用的一个重要方面。 聊天系统,主要用于小型企业,学校或小型局域网。该应用程序使得短距离通信 更咼效,更便捷,更咼效,以反映现代 IM的特点。该系统可满足中小型企业,学校内部网络即时通讯需求的需要,内部网络业 务的正常环境下

6、,提供了即时通信的能力,本系统采用的 JAVA开发。该系统可为中小型企业的共同努力,相互沟通提供了一个功能强大的工具,在局域网中使用 这个系统,可以为企业提供员工沟通的帮助,以提高工作效率。1概述1.1 课题研究背景和意义随着现代技术的普及和信息技术的不断普及,网络作为一种新事物,近年来 得到了前所未有的普及和深入,网络应用层出不穷,给用户的各个阶层和各个年 龄段提供了不同的个性化服务。和现代中小企业的领导认识到进一步提高企业信 息化的必要性。为使企业在瞬息万变的信息时代生存下来,适应激烈的市场竞争, 现代企业的要求是能够沟通,尤其是领导者和员工之间的共同能力和实时通信系 统是在这样的条件下诞

7、生的。系统开发是一个非常复杂的系统工程。介绍了系统 开发的基本过程和方法,并对相关文献进行了介绍。为了提高市场竞争力,我们必须充分调查和详细研究市场,而且还有一个良 好的客户服务。企业在复杂环境中应作出对策。员工与员工之间的即时交流和领 导是特别重要的,网上聊天系统是企业的一种沟通和沟通的平台,系统可以成为 中小企业沟通的理想平台。如果能够及时反馈信息,及时处理并做出相应的行动, 将能够进一步提高中小企业在现代经济市场中的竞争力。网络通信是网络应用的一个重要体现。即时消息是网络应用的一个重要方面。 该聊天系统主要用于小企业、学校或小局域网。此应用使短距离通信更高效、方 便,更有效地体现了现代通

8、信的特点。该系统可以满足中小企业的需求,学校内部网络即时通信的需求,内部网络 的正常操作环境下,提供即时通信的能力,本系统采用 JAVA开发。该系统可以为中小企业的协同工作,相互沟通提供一个强大的工具,利用该系统在局域网中, 可以为企业员工沟通提供帮助,提高工作效率。1.2 本文的主要内容及组织结构本文研究的内容为局域网聊天系统的设计与实现。本文的组织结构:全文共分五章。第一章,主要部分是概述。第二章,介绍网络应用系统开发技术介绍。第三章,介绍网络聊天系统的分析与设计。第四章,介绍网络聊天系统详细设计及实现。第五章,介绍相关测试部分的内容。2网络应用系统开发技术介绍2.1 TCP/IP 协议概

9、述TCP /IP 是专为大型网络协议的行业定制标准套件。在 TCP /IP协议族包括IPv4和IPv6的套协议。对TCP / IP的标准是发表在一系列的文件名为 RF(文档。在 一个基于TCP / IP的网络,路由器可以转发给路由器,一个节点或者是主机或路 由器。在一个基于TCP / IP的网络,一个子网是被路由器使用相同的IP地址前缀的 一个或多个LAN段,和一个网络是通过路由器连接的两个或更多个子网。2.2 客户/服务器模型客户/服务架构结构简称C/S结构,是一种网络架构,它把客户端(Client)(通 常是一个采用图形用户界面的程序)与服务器 (Server) 区分开来。每一个客户端软件

10、的实例都可以向一个服务器或应用程序服务器发出请求。有很多不同类型 的服务器,例如文件服务器、游戏服务器等。C/S通过不同的途径应用于很多不同类型的应用程序,最常见就是目前在因特 网上用的网页。例如,当你在维基百科阅读文章时,你的电脑和网页浏览器就被 当做一个客户端,同时,组成维基百科的电脑、数据库和应用程序就被当做服务 器。当你的网页浏览器向维基百科请求一个指定的文章时,维基百科服务器从维 基百科的数据库中找出所有该文章需要的信息,结合成一个网页,再发送回你的 浏览器。2.3 Socket 网络编程套接字是通信的基石,是支持 TCP/IP协议的网络通信的操作单元。可以将套 接字看作不同主机间的

11、进程进行双向通信的端点,它构成了单个主机内及整个网 络间的编程界面。套接字存在于通信域中。通信域是为了处理一般的线程通过套 接字通信而引进的一种抽象概念。套接字通过通常和同一个域中的套接字交换数 据(数据交换也可能穿越域的界限,但这时一定要执行某种解释程序 )。套接字可以根据通信性质分类,这种性质对于用户时可见的应用程序一般仅在同一类的套 接字间通信.不过只要底层的通信协议允许,不同类型的套接字间也照样可以通 信。进入九十年代后,随着计算机和网络技术的发展,很多数据处理系统都采用 开放系统结构的客户机/服务器网络模式,即客户机提出任务请求,通过网络发送 给服务器,由服务器做相应处理,执行被请求

12、的任务,然后将结果返回给客户机。例如:银行ATM勺前置机和数据处理的主机之间即构成客户机 /服务器网络模式;电话银行的前置机和银行数据处理机之间也构成这种网络模式结构等。这样,如 何在前置机和数据主机之间进行信息交换,即进程网络通信,就成为实现这种网 络模式的基础。而TCP/IP的套接字技术是解这一问题的有力工具。它从提出时就 一直发挥着愈来愈重要的作用,并已成为 UNIX操作系统下TCP/IP网络编程标准;甚至WINDOWJAVA都配有它的通用接口。有了这个强有力的工具,我们可以实现 异种机、异种操作系统应用程序间的相互连接和通信。套接字是支持 TCP/IP协议的网络通信的基本操作单元。可以

13、将套接字看作不同主机间的进程进行双向通信 的端点。它构成了在单个主机内及整个网际间的编程界面。一般来说,跨机应用 进程之间要在网络环境下进行通信,必须要在网络的每一端都要建立一个套接字, 两个套接字之间是可以建立连接的, 也是可以无连接的,并通过对套接字的“读”、“写”操作实现网络通信功能。类似于UNIX系统中的I/O概念,像文件那样有打开、 读、写、关闭的方式。2.4 开发工具与运行环境本实验的主要开发工具是Eclipse,Eclipse是开放源代码的项目,可以在网上 免费下载Eclipse的最新版本,一般Eclipse提供几个下载版本:Release,Stable Build , Inte

14、gration Build 和Nightly Build 。Eclipse 本身是用 Java语言编写, 但下载的压缩包中并不包含Java运行环境,需要用户自己另行安装JRE并且要在 操作系统的环境变量中指明JRE中bin的路径。2.5 其他技术诸如Web服务器、数据库服务器、文件服务器或邮件服务器之类的许多服务 器应用程序都面向处理来自某些远程来源的大量短小的任务。请求以某种方式到 达服务器,这种方式可能是通过网络协议(例如 HTTP、FTP或POP)、通过JMS队列或者可能通过轮询数据库。不管请求如何到达,服务器应用程序中经常出现 的情况是:单个任务处理的时间很短而请求的数目却是巨大的。构

15、建服务器应用程序的一个过于简单的模型应该是:每当一个请求到达就创 建一个新线程,然后在新线程中为请求服务。实际上,对于原型开发这种方法工 作得很好,但如果试图部署以这种方式运行的服务器应用程序,那么这种方法的 严重不足就很明显。每个请求对应一个线程(thread-per-request )方法的不足 之一是:为每个请求创建一个新线程的开销很大;为每个请求创建新线程的服务 器在创建和销毁线程上花费的时间和消耗的系统资源要比花在处理实际的用户请求的时间和资源更多。JVM除了创建和销毁线程的开销之外,活动的线程也消耗系统资源。在一个 里创建太多的线程可能会导致系统由于过度消耗内存而用完内存或“切换过

16、 度”。为了防止资源不足,服务器应用程序需要一些办法来限制任何给定时刻处 理的请求数目。线程池为线程生命周期开销问题和资源不足问题提供了解决方案。通过对多 个任务重用线程,线程创建的开销被分摊到了多个任务上。其好处是,因为在请 求到达时线程已经存在,所以无意中也消除了线程创建所带来的延迟。这样,就 可以立即为请求服务,使应用程序响应更快。而且,通过适当地调整线程池中的 线程数目,也就是当请求的数目超过某个阈值时,就强制其它任何新到的请求一 直等待,直到获得一个线程来处理为止,从而可以防止资源不足。3网络聊天系统的分析与设计3.1可行性分析计算机技术的快速发展,特别是计算机网络的发展,越来越深刻

17、的改变了人 们生活的方方面面。使得人们能以更低廉的价格,开发出更方便、更实用的网络 工具。各种在线服务系统,更是深刻的影响了人们的联系和交流方式, 使得人们 可以自傲远隔千里之遥随时通讯。 过去的种种陈旧的联系方式,已经不能满足现 代生活的需要。网上聊天系统作为一种方便人们之间联系的使用系统便应运而 生。网上聊天系统是人们进行交流和联系提供的一个平台。通过提供完善的网上 聊天系统的管理,可以达到增进人与人之间的交流和沟通。在In ternet 上, qq,MSN飞信等网上软件,极大程度方便了各地友人之间 的联系,也使世界一下子缩小了,不管你在哪里,只要你上了网,打开这些软件, 就可以给你的朋友

18、发信息。现在,企业,机关,学校都纷纷建立起自己的局域网。 在局域网里,虽然可以通过文件共享的方式进行通讯吗,但单单使用这种方式, 是不方便的。首先在局域网里的网上邻居,只能看到机器名,不清楚对方是谁, 也不知道对方机器有什么资源可以共享, 而且当局域网机器很多时,这种方式更 加麻烦。现在有很多局域网内机器不使用服务器通讯软件, 这种软件小巧而且轻便,也能解决一部分问题。但是有服务器通讯的软件,有着不可比拟的优势;可 以发送离线信息,不管用户当时是否在线,下线上线时,就可以看到这条信息了; 可以保存用户的个人信息或介绍,供人查看。而且,不适用服务器的通讯软件, 是以机器为通讯单元的,而有服务器的

19、通讯软件是以人为通讯单元的。 总之,有 服务器的通讯软件在局域网上,还是有很大的用途的,喂局域网上通讯,带来极 大地方便。3.2 需求分析使用JAVA及数据库技术相结合,编写一个聊天系统软件。这个系统提供多个 用户及时并发通信的平台。未注册用户可以注册成系统会员,已注册用户可以通 过登录进入聊天系统。在系统中用户可以选择进入某一个聊天分区去聊天, 也可以与特定的用户聊天。提供一个在线实时沟通平台。进入系统的用户可以选择 自己的聊天对象。用户没有专业的计算机知识,所以需要一个友好简单的界面。 用户有娱乐需要,所以需要提供娱乐节点。用户通过软件进行沟通,应提供多种 方式,如网络视频,音频聊天等。要

20、求可靠性高,能在由于系统问题或其它原因产生错误后,作出相对应处理,比如网络初始化失败、服务器不在线等,可以提 示用户安全退出本程序,在出现不可知的错误以后,可以尽量安全的退出程序。 在程序的设计过程中,要求能尽可能多的设想到用户使用过程中可能发生的事 件,并能在判断事件后做出相应的处理, 使程序具有较高的容错性能。具有宜操 作性,程序简单易懂,容易上手使用。设计界面是,简化界面的复杂性,模拟 QQ等现有即时通讯工具的界面,使用户能很容易看懂并使用。模块化设计此软件的 功能,不同的模块实现不同的功能,使得软件易于以后的维护与扩展,在以后可 以更好的完善本软件的功能,更方便于在工作中的应用。3.3

21、 系统总体设计根据网络应用程序的特点,网络在线聊天系统应就有即时,快速的特点。服务 器端和客户端应就有不同的功能特性。对于服务器端应能够正确地建立与客户端 的连接并能正确地断开,能即时地接收、处理和发送接收到的数据。能及时地通 知在线用户当前好友在线状况,能够处理非正常数据的能力。对于客户端应能够 快速地检查是否能够连接到服务器端。能正确的获得和反映当前好友在线情况。 能够正确的与特定好友交流。能及时地接收到服务器端地数据,并能即时处理数 据,并能将处理结果反映给用户。服务器端能够正确地、无冲突地启动服务器。 监听指定的端口,等待用户的连接。建立与客户端的逻辑连接,并能通知其他 好友。 向新进

22、入的好友发出已上线的好友名单。 接收客户端的消息请求,并能 正确无误地处理消息,并能发出消息到客户端。反映当前在线人数和在线好友状 况。及时地反映发出地消息和聊天消息。当好友断开与服务器端地连接时,服务 器能够正确地断开连接,并通知其他用户。当用户违反聊天系统规定时,服务器 系统管理员能够断开与此用户的连接。 当服务器关闭时,应通知所有用户。客户 端能够正确启动应用程序,并能向服务器发出连接请求。反映当前好友在线情况。 能够向群体或指定好友发出消息能够及时接收好友发出消息, 并通知用户。能够正确地断开与服务器端地的连接。331 系统架构模型注删模块 登陆模块 主界面 V系统的整体结构如图所示,

23、包含了主界面,注册模块,登陆模块,私聊模块, 群聊模块,首先要在注册模块完成注册,然后进入登陆模块登入才能进入主界面, 主界面是一个选择可以选择进入私聊模块还是群聊模块。3.3.2 功能模块设计 登陆模块,需要完成登陆界面,和登陆会话的维持。注册模块,需要完成向数据库插入用户数据然后进行重复性检查。私聊模块,构建两个套接字的连接方式,完成单独的连接。群聊模块,构建一个广播室,所有套接字的发送都回转发到该广播室内的其他套 接字当中。3.3.3 系统通信设计客户端主要通过套接字请求发送对方的ID给服务器,服务器在数据库当中 确认该用户在线就把对应的用户地址返回给客户端, 这个时候客户端就可以主动去

24、连接对应的用户,用户在收到连接请求以后需要确认该请求来自服务器分发的 任务,经过验证以后就可以去和客户端建立起套接字的连接。 该过程的主体是客户端到服务器的请求,需要遵循预先定义好的协议进行请求,比如发送指令“getuserid a给服务器,并且带上身份验证,也就是密码的加密信息给服务器,服 务器进行验证以后就可以在数据库当中查找到对应的客户信心并且把 a的信息返回给客户端,这个时候客户端就能够主动发起和 a的连接,而不再需要经过服 务器的确认了,其中有一个问题就是如果中途因为网络原因断线的话, 需要重新请求服务器获取用户的在线状态,这样就能完成短线的重连。当然客户端的直接 连接并不是完全没有

25、防御的,必须对被动连接的源进行验证以后才能允许对应的 套接字进行连接,比如运用私有协议,或者自定义的加密方式等等,这些手段在 端到端上可以起到加密的作用。最后聊天的内容按照自定义的格式,以 OxEEFF开头然后紧跟一个时间戳,表示消息发送的时间。334 数据库设计表3.1user的结构字段名数据类型长度主键否描述id自动编号是自动编号password文本50否密码profile文本256否简介time日期/时间否活跃时间表3.2message的结构字段名数据类型长度主键否描述id文本是发送者dst文本是接受者time日期/时间是发表时间用户表是一个用户注册表, 每有一个用户注册, 表中就会添加

26、一项, 修改密码则对应的是字段的更新。另外消息表是一个消息历史记录的表, 每次发送消息的时候都会更新这个表,首先id是指发送着的id,而dst指的是接受者的id,时间以发送方发出消息的时间为准, 消息目前只支持文字,不支持其他格式例如图片的信息。4网络聊天系统详细设计及实现4.1 服务器端设计与实现服务端主要实现的是 TCP连接的管理,当有一个消息到的时候需要转发给对应的客户 端,这里定义了几个事件,首先是连接,断开,和发送,对于连接事件,确定对应的用户在 线,对于断开事件则是把对应用户从在线状态的列表中去除, 对于发送事件,确认发送方和接收方同时在线,则把消息发送到接收方。服务器会对逻辑进行

27、处理。图4.1消息的状态转换图4.2服务器的主流程服务器首先会处理请求,然后用户列表会进行更新,始终保持该列表和在线 的用户同步,对于需要转发的请求,发送给对应的接收方,目前的设计是一个单 点设计,所有的请求都要经过服务器的转发才能到达接收方, 最后达到聊天的目 的。4.1.1 服务器等待连接进程/线程设计图4.3监听线程处理逻辑首先,服务器开启监听线程,当有消息到达的时候就复制处理线程, 然后重 新进行监听,从而到达并发处理请求的目的。 服务器端(Server)是指在网络编程中被动等待连接的程序,服务器端一般实现程序的核心逻辑以及数据存储等核心 功能。服务器端的编程步骤和客户端不同,是由四个

28、步骤实现, 服务器端属于被动等待连接,所以服务器端启动以后,不需要发起连接,而只需要监听本地计 算机的某个固定端口即可。这个端口就是服务器端开放给客户端的端口, 服务器 端程序运行的本地计算机的IP地址就是服务器端程序的IP地址。获得连接,当 客户端连接到服务器端时,服务器端就可以获得一个连接,这个连接包含客户端 的信息,例如客户端IP地址等等,服务器端和客户端也通过该连接进行数据交 换。一般在服务器端编程中,当获得连接时,需要开启专门的线程处理该连接, 每个连接都由独立的线程实现。交换数据,服务器端通过获得的连接进行数据交 换。服务器端的数据交换步骤是首先接收客户端发送过来的数据, 然后进行

29、逻辑处理,再把处理以后的结果数据发送给客户端。简单来说,就是先接收再发送, 这个和客户端的数据交换数序不同。 其实,服务器端获得的连接和客户端连接是 一样的,只是数据交换的步骤不同。当然,服务器端的数据交换也是可以多次进 行的。在数据交换完成以后,关闭和客户端的连接。这就是服务器端编程的模型,只是 TCP方式是需要建立连接的,对于服务 器端的压力比较大,而UDP是不需要建立连接的,对于服务器端的压力比较小 罢了。4.1.2 服务器处理客户端信息进程/线程设计我们应该充分利用多核的优势,这会是日后的发展方向。让每个进程要么处 理大流量小计算量的工作;要么处理小流量大计算量的工作。这样多个进程放在

30、 一台物理机器上可以更加充分的利用机器的资源。单线程多进程的设计,个人认为更能发挥多核的优势。这是因为没有了锁, 每个线程都可以以最大吞吐量工作。 增加的负担只是进程间的数据复制, 在网游 这种复杂逻辑的系统中,一般不会比逻辑计算更早成为瓶颈。如果担心,单线程 没有利用多核计算的优势,不妨考虑以下的例子:计算a/b+c/d+e/f,如果我们在一个进程中开三条线程利用三个核同时计算 a/b c/d e/f固然不错,但它增加了程序设计的复杂度。而换个思路,做成三个进 程,第一个只算a/b把结果交给第二个进程去算 c/d于之的和,再交个第三个 进程算e/f o对于单次运算来算,虽然成本增加了。它需要

31、做额外的进程间通讯 复制中间结果。但,如果我们有大量连续的这样的计算要做, 整体的吞吐量却增加了 着o4.2因为在算某次的a/b的时候,前一次的c/d可能在另一个核中并行计算客户端设计与实现4.2.1 登陆模块登陆模块的实现过程有下面几个步骤:(1) 获取用户名,用户选择的头像,服务器的IP地址和端口号的信息;(2) 确认登陆后初始化,创建套接字,连接服务器,向服务器发送用户登陆 信息,使其他在线用户得到本用户上线的消息;(3) 初始化过程中显示在线好友,并且对用户的好友上、下线进行管理。4.2.2 主界面模块整个程序是以服务器与客户端之间的通信事件而驱动的, 本程序划分为三大模块,但最基础的都是得到服务器传来的消息,对消息进行判别再分别交给不同 模块进行处理。本设计的接收消息过程很抽象,笔者在对设计详述之前首先将客户端接收消 息的过程提纯出来,其示意图如图4.1所示。事先已对套接字和端口进行过绑定, 一旦端口有数据来到,就会触发 CMainSocket对象的CMainSocket:0nReceive。 函数。On Receivers数中调用的Rec

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1