

下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 5/5CS架构的即时聊天系统的设计与实现 C/S架构的即时聊天系统的设计与实现 The Instant Messaging System based on C/S Structure Abstract: With the rapid development of the information age, especially the rise of internet technology, more and more people tend to communicate and deliver the messages through the internet.Instant messagi
2、ng system is such a widely used medium. With it,the real-time dialogue and file transfer can be easily carried out. Taking the design and development of the instant messaging system as the background , this article describes in detail the process of developing software systems with Java and MySql. T
3、he realization of the system is based on the TCP / IP communication protocol, and uses a client / server mode .Many advanced java technologies such as Swing ,java multi-threading, JDBC, socket programming and so on are used. By directly using the ServerSocket ,ObjectInputStream and other classes sup
4、ported in Java API, messages sented by the client and server side are packaged into a uified data stream in order to achieve the exchange of messages. The whole development process of this system follows software engineering methods,and instant messaging, group chatting, file transferring and other
5、functions are realized. Keywords: Java; database; Socket programming; instant messaging system; TCP/IP protocol 目录 第一章引言 (1) 1.1选题背景和意义 (1) 1.2本文的主要工作 (2) 第二章基于C/S架构的即时通讯系统概述 (3) 2.1系统的可行性分析 (3) 2.2系统的实现目标和基本功能 (4) 2.3系统开发环境和关键技术介绍 (4) 第三章基于C/S架构的即时通讯系统设计 (8) 31系统详细设计 (8) 311 系统总体流程图 (8) 312 系统总体功能模
6、块划分 (9) 313 系统用例图 (10) 314 系统数据流图 (12) 3.2 数据库设计 (14) 3.3 系统关键类结构设计 (19) 第四章基于C/S架构的即时通讯系功能实现 (24) 4.1注册模块功能实现 (24) 4.2登录模块功能实现 (26) 4.3聊天模块功能实现 (29) 4.4文件传送模块功能实现 (31) 4.5后台管理模块功能实现 (35) 第五章总结 (39) 致谢 (42) 第一章引言 1.1选题背景和意义 随着经济全球化的发展,世界各地的不同人、组织、机构之间的联系越来越密切。同时伴随着互联网技术的普及和发展,网络即时通信工具已经作为一种廉价、方便的信息交
7、流工具越来越受到人们的青睐。在21世纪初的短短十几年间,即时通信系统(IM)的发展不断地取得了惊人的成就。从早期只能互相发送字符并显示在双方的屏幕上的实时通信程序到现在的图形化、面向互联网、多功能的即时通信系统,科学技术的进步和整合不断地促使着即时通信系统功能越来越丰富,用处越来越广泛。从最早的即时通讯软件ICQ诞生至今,市场上不断涌现出类似的产品。不少厂商分别推出了自己的IM,如腾讯、阿里旺旺、新浪UC、移动飞信等,这些都是我们所熟悉的PC端的即时通讯软件。随着智能手机、平板电脑的普及,一些移动端的即时通信系统也如雨后春笋般涌现出来,如小米公司的米聊,腾讯公司的微信,还有年轻人之间很流行的陌
8、陌、游戏玩家常用的YY语音等。这些软件本身功能也越来越丰富,远远超出了单纯的即时聊天系统的范畴。现在的即时通信系统不仅仅是人们的沟通工具,还成为了人们利用其进行电子商务、工作、学习等交流的平台1516。 在当今社会,不管是个人用户还是企业用户,对沟通的需求总是在不断地发展。传统的沟通交流方式如电话、传真、邮件等已经不能完全满足人们学习、工作、生活的需要。随着计算机软件、计算机网络和移动通信技术的发展融合,集方便、廉价、快捷、实时等优点于一身的即时通讯系统可以说是继电子邮件、万维网之后,互联网上最具有杀伤力的应用。很难想象一台个人电脑没有安装像 这样的即时通讯软件。虽然即时聊天系统设计的初衷是聊
9、天,但正如前面所说,其功能已经超出了聊天的范畴,随着企业即时通讯工具(EIM)的出现,IM系统 更是成了企业信息发布、资源共享、问题探讨和网络营销的一把利器。通过现有的技术,企业完全可以摒弃通用的免费的即时通讯系统,转而根据自己企业的需求定制开发自己专属的内部即时通讯系统,以实现更好的管理,提高员工的工作效率。我们的生活中沟通无处不在,即时聊天系统这类广泛使用的基础软件的研究开发意义深远15。 1.2本文的主要工作 本文围绕一个简单实用的即时聊天系统的开发,详细介绍了使用Java编程语言、Java API和MySQL数据库构建一个软件系统的过程。整个系统的分析、设计、开发、测试等过程遵循了软件
10、工程学的方法。论文分为如下几个部分: 第一部分,阐述了对即时聊天系统的分析。包括系统的可行性分析、系统实现的目标和基本功能分析以及使用的一些关键技术分析。 第二部分,阐述了整个系统的设计过程。包括系统总体设计、功能模块划分、数据库设计和关键类的设计。 第三部分,详细介绍了整个系统的实现。针对每一个功能的具体实现展开介绍,包括使用到的开发技术、类库,第三方jar包等等。 第四部分,总结与展望。针对系统的优点和不足对系统进行了总结与展望。 第二章基于C/S架构的即时通讯系统概述 2.1系统的可行性分析 进行可行性研究就是在行动以前,对要办的事进行调查,确认其可行与不可行,即:可行则行,不可行则止。
11、可行性研究的目的不是解决问题,而是研究在当前的具体条件下,开发新系统是否具备必要的资源和其它条件。为了达到这个目的,必须认真了解用户的要求及现实环境,探索若干种可供选择的解绝方案,并对每种解决方案的可行性进行仔细论证。一般来说应从以下几个方面进行论证12: 技术可行性:使用现有的技术能是否实现这个系统 经济可行性:这个系统的经济效益是否超过它的开发成本 操作可行性:系统的操作方式在这个用户组织内是否行得通在对本系统的分析中,同样是从上面三个方面入手。本系统的可行性分析包括以下几个方面的内容: (1)技术可行性:基于网络通信原理,利用Java提供的Swing、Socket等API和多线程编程、J
12、DBC等技术可以开发出简单实用美观的即时聊天系统,因此技术上是可行的。(2)经济可行性:个人电脑和网络的普及使得我们不需要太多的经济投入。在软件方面,可以采用免费的IDE如Eclipse和轻量级数据库MySQL。无需太多的经济投入即可为局域网内的即时通讯系统的实现提供支持。 (3)操作可行性:一方面可以让本地机同时作为客户端和服务器实现一台机器上的即时通讯。另一方面,只要一台以上计算机连接在同一个局域网内,并且在作为客户端机器的本系统中设臵需要连接的作为服务器端机器的IP地址,本系统就可以实现局域网通讯,所以操作上完全不存在问题。如果要实现internet上通讯,理论上只需要将服务器端运行在一
13、个有固定IP的公网上就可以。 综上所述,这种C/S架构的即时通讯系统的开发是可行的。 2.2系统的实现目标和基本功能 对于个人用户而言,能够实现好友即时通讯,传递实时信息,让用户随时随地都可与好友保持畅快有效的沟通。 对于企业用户而言,能够实现建立员工交流平台,统一信息发布平台,减少运营成本,促进企业办公效率。 商业即时通讯系统的功能越来越多样化,一些功能也很新颖,如现在流行的语音对讲功能。本系统不比商业系统,没有考虑过多的复杂性,主要实现了基本的通讯功能,以满足学习研究之用。其基本功能有用户注册、客户端登录、一对一实时聊天、群组聊天、传送文件、服务器后台管理。 2.3系统开发环境和关键技术介
14、绍 (1)Java语言简介 Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java 更具备了显著优势和广阔前景18。 Java之所以被开发,是要达到以下五个目的2: ?应当使用面向对象程序设计方法学 ?应当允许同一程序在不
15、同的计算机平台执行 ?应当包括内建的对计算机网络的支持 ?应当被设计成安全地执行远端代码 ?应当易于使用,并借鉴以前那些面向对象语言(如C+)的长处。 Java语言有着简单、面向对象、分布式、健壮、安全、可移植等特性,因此受到了众多程序开发人员的青睐。 (2)Eclipse简介 Eclipse是著名的跨平台开源集成开发环境(IDE)。它是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。人们最初主要用它来做Java语言开发,目前亦有人通过插件使其作为C+、Python、PHP等其他语言的开发工具。Eclipse本身就是用Jav
16、a语言开发的,它的设计思想是:一切皆是插件。Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上。Eclipse基本内核包括:图形API (SWT/Jface),Java开发环境插件(JDT ),插件开发环境(PDE)等。这些特性使得Eclipse拥有较佳的灵活性,许多软件开发商以Eclipse为框架开发自己的IDE13。 (3)MySql简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵
17、活性。与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。MySQL软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。本系统采用的后台数据库即为社区版7。(4)网络通信协议简介 网络通信协议为连接不同操作系统和不同硬件体系结构的互联网络提供通信支持,是一种网
18、络通用语言。网络通信的层次结构和网络通信的协议,是开发网络程序的基础。目前在网络编程方面最常用的是TCP/IP和UDP通信协议。通过这些协议,网络通信的 各主机可以用一种统一而非杂乱的规范,高效便捷地相互发送和接收消息。本系统在通讯功能实现中采用了TCP传输协议,直接使用的Java API提供的类Socket和Serversocket 等来实现69。 ?TCP传输协议说明 TCP协议是面向连接的协议,比如说在客户端A和B进行连接之前必须首先建立数据通路,就向打电话一样,在通话之前必须先拨号,等待对方的接听以后才能进行通话。TCP协议中数据传输采取的是同步方式,当数据发送到对方时,必须等待接收方的应答信号后才能继续下一次的发送工作,即通常所讲的三次握手。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 探讨文化产业管理证书考试试题及答案的方法
- 文化产业管理学术论文写作指导试题及答案
- 探讨光电工程师证书考试的就业前景试题及答案
- 青岛版六年制数学五年级下册《总复习8-1 数与代数 第一课时》教案教学设计
- 混凝土轨枕企业制定与实施新质生产力战略研究报告
- 醇酸油漆行业跨境出海战略研究报告
- 高分子材料用稀土助剂行业直播电商战略研究报告
- 2025年中考生物复习课件 第17章 传染病和免疫
- 铂合金带企业制定与实施新质生产力战略研究报告
- 铝压铸件行业跨境出海战略研究报告
- 2024年云南省烟草专卖局毕业生招聘考试真题
- 青岛市李沧区教育系统招聘中小学教师笔试真题2024
- 2025山东能源集团中级人才库选拔高频重点提升(共500题)附带答案详解
- 2024年司法考试完整真题及答案
- 雷雨-剧本原文-高中语文雷雨剧本原文
- 2016-2023年南通师范高等专科学校高职单招(英语/数学/语文)笔试历年考点试题甄选合集含答案解析
- 全国炼油厂一览
- 2023年全国中学生生物学联赛试题( 含答案解析 )
- 如愿二声部合唱简谱文档
- 最新体检信息系统课件
- 西师版三年级数学(下册)第一单元试题
评论
0/150
提交评论