基于JAVA的聊天系统的设计与实现毕业论文.docx

上传人:b****9 文档编号:135980 上传时间:2022-10-04 格式:DOCX 页数:50 大小:638.34KB
下载 相关 举报
基于JAVA的聊天系统的设计与实现毕业论文.docx_第1页
第1页 / 共50页
基于JAVA的聊天系统的设计与实现毕业论文.docx_第2页
第2页 / 共50页
基于JAVA的聊天系统的设计与实现毕业论文.docx_第3页
第3页 / 共50页
基于JAVA的聊天系统的设计与实现毕业论文.docx_第4页
第4页 / 共50页
基于JAVA的聊天系统的设计与实现毕业论文.docx_第5页
第5页 / 共50页
点击查看更多>>
下载资源
资源描述

基于JAVA的聊天系统的设计与实现毕业论文.docx

《基于JAVA的聊天系统的设计与实现毕业论文.docx》由会员分享,可在线阅读,更多相关《基于JAVA的聊天系统的设计与实现毕业论文.docx(50页珍藏版)》请在冰豆网上搜索。

基于JAVA的聊天系统的设计与实现毕业论文.docx

基于JAVA的聊天系统的设计与实现毕业论文

目 录

第1章引言 3

1.1开发背景 3

1.2开发目的和意义 3

1.3论文研究内容 4

第2章即时通讯系统的相关研究 5

2.1C/S开发模式 5

2.2B/S开发模式 5

2.3即时通讯原理 6

2.4Javaweb、Struts2、AJAX、JavaScript应用技术 6

2.5MySQL数据库应用技术 6

2.6Socket通信技术 6

2.7开发环境的搭建 7

第3章系统分析 7

3.1系统基本功能描述 7

3.2可行性分析 8

3.3系统需求分析 8

3.3.1功能分析 8

第4章系统设计 10

4.1数据库设计 10

4.2系统模块设计 11

4.2.1聊天系统工作原理图 11

50

4.2.2系统功能模块图:

12

4.2.3系统用例图:

12

4.2.4活动图:

13

4.3系统类设计 15

4.3.1Message类的设计 14

4.2.2截图类的设计 15

4.2.3聊天记录类的设计 16

4.2.4服务器线程类设计 17

第5章系统实现 19

5.1实现概况 19

5.2注册模块 20

5.2.1流程图 20

5.2.2关键代码 20

5.3登录模块 22

5.3.1流程图 22

5.3.2关键代码 22

5.4聊天模块 27

5.4.1流程图 27

5.4.2关键代码 27

5.5文件模块 31

5.5.1流程图 31

5.5.2关键代码 32

5.6用户管理模块 38

5.6.1流程图 38

5.6.2关键代码 38

5.7其他功能的实现 41

5.7.1截图功能的实现 41

5.7.2聊天记录功能的实现 42

5.7.3服务端线程的实现 44

5.8用户界面的设计 45

结语 48

参考文献 49

致谢 错误!

未定义书签。

第1章引言

1.1开发背景

随着互联网的快速发展,网络聊天工具已经作为一种重要的信息交流工具,受到越来越多的网民的青睐。

目前,出现了很多非常不错的聊天工具,其中应用比较广泛的有Netmeeting、腾讯QQ、MSN-Messager等等。

无论是个人还是企业等组织机构,对沟通的需求也在不断发展,传统的电话、传真、邮件等沟通方式显然已无法满足当今人们工作和生活沟通的需要。

随着软件、网络和通讯三大现代信息技术的发展,在沟通、协作方面有着更多方便、快捷、实时等优势的即时通讯,成为继电话、E-Mail之后又一个完全融入每个人生活的互联网工具。

Java是一个由Sun公司开发而成的新一代编程语言。

使用它可在各式各样不同种机器、不同种操作平台的网络环境中开发软件。

不论你使用的是哪一种WWW浏览器,哪一种计算机,哪一种操作系统,只要WWW浏览器上面注明了“支持Java”,你就可以看到生动的主页。

Java正在逐步成为Internet应用的主要开发语言。

它彻底改变了应用软件的开发模式,带来了自PC机以来又一次技术革命,为迅速发展的信息世界增添了新的活力。

1.2开发目的和意义

网络通信在当今信息社会中起着不可或缺的作用,人们可以利用网络通信技术进行即时的信息交流。

比如说QQ聊天工具,它就是利用网络通信技术开发的一款众所周知的网络聊天工具。

通讯工具最初虽为聊天而诞生,但其作用早已超出了聊天的范畴,随着企业即时通讯工具的出现,即时信息在网络营销中将发挥更大的作用。

目前,信息交流是互联网提供的主要内容,网络通信系统有多种实现方式,类似ICQ

属于一种点对点的聊天系统;还有一种是基于Socket的集中式聊天系统,这种聊天系统需要登录统一的聊天服务器。

考虑到要可以在局域网中应用,本系统使用的是第二种方法,经过设置,在局域网或internet上都可以使用。

1.3论文研究内容

1、即时通讯原理

首先验证登陆,如果成功,则建立与服务端的socket连接,服务端新开启一个线程专门为它服务,将打包好的Message发送给服务器端,服务器端根据Message里面的信息,再将信息转发给其他用户。

一个标准的C/S模式。

2、Swing技术

Swing是一个用于开发Java应用程序用户界面的开发工具包。

它以抽象窗口工具包

(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。

用来实现客服端的界面设计。

3、Javaweb和struts2技术

采用B/S的结构实现服务器端,对用户和在线用户进行增删改查,和踢用户下线,以及开启服务器和关闭服务器。

4、系统的构建

客户端采用C/S结构,管理端采用B/S的结构,用Tomcat作为服务器,MySQL作为数据库,还使用到了WindowBuilder开源框架进行界面开发。

第2章即时通讯系统的相关研究

2.1C/S开发模式

C/S结构的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。

对应的优点就是客户端响应速度快。

缺点主要有以下几个:

而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。

这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。

客户端需要安装专用的客户端软件。

首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。

还有,系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。

(大多数没法自动升级而需要人工升级)

对客户端的操作系统一般也会有限制。

可能适应于Windows98,但不能用于Windows2000或WindowsXP。

或者不适用于微软新的操作系统等等,更不用说Linux、Unix等。

2.2B/S开发模式

B/S结构(Browser/Server结构)结构即浏览器和服务器结构。

它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。

在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端

(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。

这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。

以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。

它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WAN,Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。

特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、速度快、

效果优。

2.3即时通讯原理

登陆进入聊天软件后,即显示出好友列表,在线的显示亮头像,不在线的显示灰色头像。

双击好友头像即会显示出聊天界面。

在聊天页面上,有发送文字,发送截图,和发送文件的功能按钮。

点击“发送”按钮之后,程序就会把输入的信息的种类,信息内容、本人的ID号、对方的ID号以及当前的时间等内容打包成一个Message对象通过Socket发送到服务器端。

服务器接收到Message之后,按照协议进行解析和转发。

这样,双方的即时通讯就实现了。

2.4JavaWeb、struts2、Ajax、javascript应用技术

通过这些技术,实现服务器的后台管理端,对用户和在线用户进行增删改查,和踢用户下线,以及开启服务器和关闭服务器。

以及用户的注册,前台验证等等

2.5MySQL数据库应用技术

使用MySQL存储用户信息,采用JDBC技术对其进行增删改查。

2.6Socket通信技术

Socket程序的工作过程:

1、建立Socket连接:

在通信开始之前由通信双方确认身份,建立一条专用的虚拟连接通道。

2、数据通信:

利用虚拟连接通道传送数据信息进行通信。

3、关闭:

通信结束时,再将所建的虚拟连接拆除。

具体如下:

服务器

图2-1socket通信

2.7开发环境的搭建

客户端采用C/S结构,管理端采用B/S的结构,用Tomcat作为服务器,MySQL作为数据库,还使用到了WindowBuilder开源框架进行界面开发。

第3章系统分析

3.1系统基本功能描述

客户端可以实现注册,即时聊天,相互之间收发文件,发送截图,查看历史聊天记录

等功能。

收发消息时,可以实现离线接收。

服务器端应当建立一个ServerSocket,并且不断进行侦听是否有客户端连接或者断开连接(包括判断没有响应的连接超时)。

服务器端应当是一个信息发送中心,所有客户端的信息都传到服务器端,由服务器端根据要求分发信息。

在后台管理系统,可以到对用户进行增删改查,查看在线用户,和踢用户下线

3.2可行性分析

本系统的可行性分析包括以下几个方面的内容:

(1)技术可行性

使用Swing和socket技术,可以很轻松地开发出实用、简便、高效的基于网络的即时通讯系统。

因此技术上是可以实现的。

(2)经济可行性

计算机网络已经普及,因此在网络设备上不需要进行大的投入。

本系统需要一个MySQL数据库服务器,由于并发使用人数比较少,tomcat可以作为web服务器,所以成本很低。

(3)操作可行性

只要一台以上计算机连接在同一个局域网内,本系统就可以安装使用,所以操作上完全不存在问题。

如果要实现internet上通讯,只需要将服务器端运行在一个有固定IP的公网上就可以。

综上所述,即时Java即时通讯系统是可行的。

3.3系统需求分析

3.3.1功能分析

本系统要实现的功能如下:

1)注册

服务器收到用户的注册请求,便开始接受客户传递的信息,诸如客户的呢称,性别,籍贯,个人资料等,接受完毕后,便通过JDBC与后台数据库连接,然后向数据库添加记录,如果成功,便向客户返回其号码。

客户收到服务器返回的信息后,便打开窗口登陆。

2)登陆

在客户端,用户输入其号码和密码,然后建立与服务器的连接,告诉服务器我要登录,服务器收到后,开始通过JDBC读取数据库,然后与用户输入的信息进行比对,如果成功,便打开主程序窗口。

然后客户向服务器请求读取好友名单,服务器收到该请求,从数据库中取出好友列表,然后向客户端发送这些信息,客户收到后就在主窗口显示好友。

3)聊天

客户端首先发送消息到服务器端,服务器端根据发送人信息和接收者信息来转发。

例如服务器接收到一个A发给B的消息,先判断B是否已经在线,如果在线就将信息发送过去。

如果B不在线则把信息储存在服务器,等B上线了在发送给他。

B接收到A发来的信息,如果是未建立对话窗口,则自动打开显示。

4)发送截图

客户端A点击截图按钮,将屏幕锁定,截取图片,将图片储存在byte[]数组中发送到服务器端。

服务器端根据发送人信息和接收者信息来转发。

B接收到A发来的截图信息,会根据byte[]构造图片,将图片显示出来。

同样,如果是未建立对

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

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

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