多人在线实时聊天系统设计与实现

 2022-01-17 11:01

论文总字数:33022字

目 录

目 录 I

1.前言 1

2. 相关技术及工具介绍 1

2.1 Java 1

2.2 MVC 2

2.3 Servlet 3

2.4 Tomcat和MySql 3

2.5 HTML5的WebSocket 4

2.6 Web前端CSS框架Bootstrap 4

2.7持久层框架MyBatis 5

2.8 Java MD5加密算法 6

3.需求分析 7

3.1功能分析 7

3.1.1用户登录控制 7

3.1.2普通员工操作 7

3.1.3超级管理员操作 8

3.2数据分析 9

3.2.1数据流图 9

3.2.2数据字典 10

4.系统设计 12

4.1系统结构设计 12

4.2数据库设计 13

4.2.1概念模型设计 13

4.1.2逻辑结构设计 14

5. 系统实现 16

5.1 系统登录控制 16

5.2 普通员工操作 18

5.2.1聊天室内群聊 18

5.2.2 聊天室内私聊 22

5.2.3 发送图片、表情消息 24

5.2.4 联想搜索联系人 26

5.2.5 聊天记录 28

5.2.6 共享文件 29

5.3 超级管理员操作 33

5.3.1 消息管理 33

5.3.2 用户管理 34

5.3.3 禁言amp;停用 39

6.总结 40

参考文献 41

致谢 42

多人在线实时聊天系统设计与实现

唐晓哲

,China

Abstract: Along with the Internet users increase rapidly, more and more users are willing to share their interests on the platform, and communicate. Chat systems as a new Web application, provide Internet users with a real-time information exchange places. This article mainly uses the Java language, based on the JavaEE platform development using MVC design idea, the completion of the new HTML5 WebSocket protocol to design and implement of the multiplayer online real-time chat system. The system consists of chat module and management module. With the chat system, employees can easily communicate, improve efficiency.The chat system provides much convenience for enterprise management, and vigorously to meet the needs of social development.

Key words: online real-time chat system; WebSocket; Java

1.前言

在当今这个信息化的社会中,信息的来源是多元化的,而互联网作为信息传播的工具和快速渠道,在生产、工作和学习中起到了不可忽视的作用。Internet的迅速发展和普及,人们可以通过Internet交换动态数据,展示新产品,与人进行沟通并进行电子商务贸易。对于我们每一个网民来说,我们的生活质量均是随着Internet而改变。当前社会中,在线服务系统是一种趋势,更是深刻的影响了人们的生活,不受距离、种族的影响,网民们可以互相进行即时通讯。在高科技的带动下,人们生活水平有了显著提高,生活所需越来越高,难以满足。

交流系统这个网站重要组成部分,为人们的即时通话提供了一个全新的平台。同时,在线聊天系统这个一种方便人们间互相交流情感的系统应运而生,在世界上应用广泛。聊天系统的主要发展趋势就是专业化和大型化,当前较有效的途径,是往实用性这个方向发展,将聊天系统互动交流的技术特点充分发挥,进而满足远程互动的需要。而社会上仍有很多人认为聊天平台是用来娱乐消遣的东西,定义为聚拢人气,而不是带来收益的项目。

在当前网络环境下,基于B/S结构的软件开发技术已经成为行业的趋势。建立一个基于B/S结构的全面多人在线实时聊天系统,可以方便公司员工办公交流的同时,还可以提高工作效率,并且为企业的管理提供了大大的方便,大力满足社会发展的需求。本文主要采用Java语言,基于JavaEE平台开发,采用MVC设计思想、新型的HTML5的WebSocket协议设计并实现了一个多人在线实时聊天系统。

相关技术及工具介绍

鉴于本次需要设计实现的是公司员工内部实名制多人在线聊天平台,是一种轻客户端形式的系统,故Servlet和Tomcat服务器被采用,来完成系统的开发,同时采用MVC设计思想、结合Java技术,采用新型的HTML5的WebSocket协议、Web前端bootstrap框架、持久层MyBatis框架及MD5加密算法进行研发。开发工具采用MySql数据库和Eclipse。

2.1 Java

1996年,Sun Microsystems公司推出了一种新的纯面向对象的编程语言——Java。

Java原叫Oak,是由Sun公司领导研发、并被大众认可,于1995年正式推出,之后改名字为Java。自从有了含有业务逻辑与生命周期、资源分离的Java语言,开发人员便可以将研发重点放在开发系统的业务逻辑上[1],大大提高了系统的研发效率。与其他编程语言相比,它所具有很多优点如下:

  1. 简单性:和C/C 相近,但是Java中删除了C 中不容易掌控的部分。
  2. 安全性:含有自动内存管理机制的Java,还不支持指针数据类型,与其他语言相比,系统的安全性有了很大的提高。
  3. 动态性和分布性:Java接受多次继承。并且Java应用程序可以通过URL打开并访问网络上的对象。
  4. 平台无关性:为了软件在不同硬件平台上正常运行,Java采用字节码的形式发布软件。
  5. 可移植性:其底层实现不同,但是不同平台提供了相同的解释和接口,Java是跨平台的解释性语言。
  6. 多线程:包含线程同步机制。
  7. 高性能:与其他以牺牲性能为代价的语言相比,Java具有很高的性能。

2.2 MVC

MVC[4](Model--View--Controller),是模型-视图-控制器的含义。20世纪后期,MVC起初是由Xerox PARC为名为Smalltalk-80的一种语言发明的,作为一种软件设计模式。相比JSP Model1和JSP Model2设计模式,它越来越受到Web开发者的欢迎。这里,M主要由Java Bean来实现;V是由HTML组成的界面;C由Servlet来实现。虽然编写MVC应用程序需些额外的工作,但是它给大众带来的好处是必然的。

首先,代码可重性高。一个模型可以由多个不同的视图共享。

其次,模型是自包含的。

最后,应用程序的可配置性和灵活性得到了很大提高。控制器的操作简单方便。在有了使用用户的需求后,操作合适的模型,最后将会把合适的视图以结果的形式展示给用户。

综上所述,MVC设计模式相关含义如图2.1所示。

图2.1 MVC设计模式

2.3 Servlet

Servlet[4]程序可直接产生动态的Web轻客户端界面。它独立于平台和协议,为程序开发人员提供了一个简单、一致的机制,用来开发服务器端的应用程序,来扩展Web服务器的功能,。Servlet是轻量级客户端和服务器端的中间层。它本身就是Java代码。在第一次请求时,服务器将Servlet编译成class文件后加载到内存中,并将已经编译好的class文件存放在服务器指定的路径下。Servlet代码一旦被载入,它便处于执行的状态,之后对于来自客户端的请求,服务器也就不需要编译了,直接将执行结果传递到客户端,也大大地提高了Servlet的执行效率。结合上述含义,JSP/Servlet的执行过程[6],如图2.2所示:

图2.2 Servlet的执行过程

2.4 Tomcat和MySql

Tomcat[4]是Java的虚拟机。以轻量级服务器而闻名,被广泛使用。它是Apache 软件基金会的Jakarta 项目中的一个核心项目。在网络很发达的这个时代,许多中小型网站广泛使用Tomcat,但是,它也有不足之处,就是并不能支持具有很多并发访问服务端用户的系统。因此,它是开发轻客户端Web系统的首选。

MySQL[5]是小型关系型数据库管理系统,由瑞典MySQLAB公司开发。在Internet上的中小型网站中大范围的用到了MySQL。作为新一代的数据平台产品,当前最流行的关系型数据库,MySQL的操作使用方法简单,不但可以在电脑命令窗口进行操作,也可以结合Navicat for MySQL等开源软件,将数据库中的数据以更好的图表数据显示出来,进而可以方便、直观地对本地数据库进行操作。

MySQL的特性:

  1. MySQL充分利用CPU资源,支持多线程。
  2. 支持多种操作系统。
  3. 提供TCP/IP、ODBC和JDBC等多种数据库连接途径。
  4. 为多种编程语言提供了API。这些编程语言包括C、C 、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。
  5. 优化了SQL查询算法,可以高效地提高查询速度。
  6. 没有其他软件,也可以单独使用。
  7. 提供用于检查、管理、优化数据库操作的管理工具。
  8. 具备大数据处理的能力。

2.5 HTML5的WebSocket

HTML5的WebSocket协议将在Web浏览器中实时通信带到了一个新高度。每日,新产品被设计产生,以保持永久连接到网络。WebSocket是引发这场革命的技术。目前WebSockets支持所有浏览器,但它仍然是一个在不断的进化的新技术。

WebSockets慢慢取代旧的客户端-服务器通信技术。WebSocket协议的全双工的性质是如同彗星一样的技术卓越的性能,因为它不依赖于HTTP通信。协议采用全双工通讯,此时浏览器和服务器只要握手一次,然后,二者之间就有了一条快速通道,便可以相互传送数据,代替了传统ajax轮询的同时,不仅节省时间还大大的提高了效率。

剩余内容已隐藏,请支付后下载全文,论文总字数:33022字

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;