java仿QQ局域网聊天软件设计(3)
时间:2017-05-23 22:53 来源:毕业论文 作者:毕业论文 点击:次
3、系统介绍 系统才有C/S模式,服务器端用mysql储存用户数据,客户端使用文件io流读写数据。客户端通过socket连接服务器。 2.系统的相关研究 2.1 C/S开发模式 C/S 结构,即大家熟知的客户机和服务器结构。它是软件系统结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。 C/S结构的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快,应用服务器运行数据负荷较轻,数据的储存管理功能较为透明。缺点主要有以下几个: 而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。 客户端需要安装专用的客户端软件。首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或文护。还有,系统软件升级时,每一台客户机需要重新安装,其文护和升级成本非常高。(大多数没法自动升级而需要人工升级) 对客户端的操作系统一般也会有限制。可能适应于win7,但不能用于Windows 2000或Windows XP。或者不适用于微软新的操作系统等等,更不用说Linux、Unix等。 2.2 即时通讯原理 登陆进入聊天软件后,即显示出好友列表,双击好友头像即会显示出聊天界面。在聊天页面上,有发送文字,发送图片,和发送文件的功能按钮。与QQ相识,点击“发送”按钮之后,程序就会把输入的信息的种类,信息内容、以及用户端一些数据编辑成xml数据通过Socket发送到服务器端。 服务器接收到数据之后,按照协议进行解析和转发。这样,双方的即时通讯就实现了。 2.3 Socket通信技术 Socket程序的工作过程: 1、建立Socket连接:在通信开始之前由通信双方确认身份,建立一条专用的虚拟连接通道。 2、数据通信:利用虚拟连接通道传送数据信息进行通信。 3、关闭:通信结束时,再将所建的虚拟连接拆除。 具体如下: 服务器 图 2-1 socket通信 3.系统分析 3.1 系统需求 聊天交流是目前互联网提供的主要内容。聊天系统有多种实现方式,类似ICQ属于一种点对点的聊天系统;还有一种是基于Socket的集中式聊天系统,这种聊天系统需要登陆统一的聊天服务器。在基于Socket的聊天系统中,主要有两种角色:服务器和客户端,不同的客户端登陆集中式的服务器,通过服务器将一个客户端发出的信息推送到其他所有客户端。 基于Socket的聊天系统最早实现是使用网页刷新方式,通过客户端不断地自动刷新,将服务器端整个页面内容下载到客户端显示,这种方式的聊天速度慢,而且有刷屏现象,很快被更新的聊天技术所替代。 (责任编辑:qin) |