基于java聊天系统设计与实现

上传人:第*** 文档编号:57106245 上传时间:2018-10-19 格式:PDF 页数:46 大小:820.03KB
返回 下载 相关 举报
基于java聊天系统设计与实现_第1页
第1页 / 共46页
基于java聊天系统设计与实现_第2页
第2页 / 共46页
基于java聊天系统设计与实现_第3页
第3页 / 共46页
基于java聊天系统设计与实现_第4页
第4页 / 共46页
基于java聊天系统设计与实现_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《基于java聊天系统设计与实现》由会员分享,可在线阅读,更多相关《基于java聊天系统设计与实现(46页珍藏版)》请在金锄头文库上搜索。

1、 * 科 技 大 学 电 信 学 院 课 程 设 计 说 明 书 设计题目: 基于 java 的聊天系统设计与实现 学院、系: 计算机系 专业班级: 计算机 2011-1 班 学生姓名: 指导教师: 成 绩: 2013 年 10 月 27 日 基于 JAVA 的聊天系统的设计与实现 摘 要 网络聊天工具已经作为一种重要的信息交流工具,受到越来越多的网民的青睐。目前,出现了很多非常不错的聊天工具,其中应用比较广泛的有 Netmeeting、腾讯 QQ、MSN-Messager 等等。 该系统开发主要包括一个网络聊天服务器程序和一个网络聊天客户程序两个方面。前者通过 Socket 套接字建立服务器

2、,服务器能读取、转发客户端发来信息,并能刷新用户列表。后者通过与服务器建立连接,来进行客户端与客户端的信息交流。其中用到了局域网通信机制的原理,通过直接继承 Thread 类来建立多线程。开发中利用了计算机网络编程的基本理论知识,如 TCP/IP 协议、客户端/服务器端模式(Client/Server模式) 、网络编程的设计方法等。在网络编程中对信息的读取、发送,是利用流来实现信息的交换,其中介绍了对实现一个系统的信息流的分析,包含了一些基本的软件工程的方法。经过分析这些情况,该聊天工具采用 Eclipse 为基本开发环境和 java 语言进行编写,首先可在短时间内建立系统应用原型,然后,对初

3、始原型系统进行不断修正和改进,直到形成可行系统 关键词:即时通讯系统 B/S C/S MySQL Socket Swing 目 录 第第 1 1 章章 引言引言 . 1 1.1 开发背景 . 1 1.2 开发目的和意义 . 1 1.3 论文研究内容 . 2 第第 2 2 章章 即时通讯系统的相关研究即时通讯系统的相关研究 . 3 2.1 C/S 开发模式 3 2.2 B/S 开发模式 3 2.3 即时通讯原理 4 2.4 Java web 、Struts2、AJAX、JavaScript 应用技术 4 2.5 MySQL 数据库应用技术 4 2.6 Socket 通信技术 4 2.7 开发环境

4、的搭建 . 5 第第 3 3 章章 系统分析系统分析 . 6 3.1 系统基本功能描述 . 6 3.2 可行性分析 . 6 3.3 系统需求分析 . 7 3.3.1 功能分析 . 7 第第 4 4 章章 系统设计系统设计 . 9 4.1 数据库设计 . 9 4.2 系统模块设计 10 4.2.1 聊天系统工作原理图 10 4.2.2 系统功能模块图: 11 4.2.3 系统用例图: 11 4.2.4 活动图: 12 4.3 系统类设计 14 4.3.1 Message 类的设计 . 14 4.2.2 截图类的设计 15 4.2.3 聊天记录类的设计 16 4.2.4 服务器线程类设计 17 第

5、第 5 5 章章 系统实现系统实现 . 18 5.1 实现概况 . 18 5.2 注册模块 . 18 5.2.1 流程图 18 5.2.2 关键代码 18 5.3 登录模块 . 20 5.3.1 流程图 20 5.3.2 关键代码 20 5.4 聊天模块 . 24 5.4.1 流程图 24 5.4.2 关键代码 24 5.5 文件模块 . 28 5.5.1 流程图 28 5.5.2 关键代码 28 5.6 用户管理模块 . 33 5.6.1 流程图 33 5.6.2 关键代码 34 5.7 其他功能的实现 . 36 5.7.1 截图功能的实现 36 5.7.2 聊天记录功能的实现 37 5.7

6、.3 服务端线程的实现 38 5.8 用户界面的设计 . 38 结语结语 . 42 1 第第 1 1 章章 引言引言 1.1 1.1 开发背景开发背景 随着互联网的快速发展,网络聊天工具已经作为一种重要的信息交流工具,受到越来越多的网民的青睐。目前,出现了很多非常不错的聊天工具,其中应用比较广泛的有Netmeeting、腾讯 QQ、MSN-Messager 等等。无论是个人还是企业等组织机构,对沟通的需求也在不断发展,传统的电话、传真、邮件等沟通方式显然已无法满足当今人们工作和生活沟通的需要。随着软件、网络和通讯三大现代信息技术的发展,在沟通、协作方面有着更多方便、快捷、实时等优势的即时通讯,

7、成为继电话、E-Mail 之后又一个完全融入每个人生活的互联网工具。 Java是一个由Sun公司开发而成的新一代编程语言。 使用它可在各式各样不同种机器、不同种操作平台的网络环境中开发软件。不论你使用的是哪一种 WWW 浏览器,哪一种计算机,哪一种操作系统,只要 WWW 浏览器上面注明了“支持 Java” ,你就可以看到生动的主页。Java 正在逐步成为 Internet 应用的主要开发语言。它彻底改变了应用软件的开发模式,带来了自 PC 机以来又一次技术革命,为迅速发展的信息世界增添了新的活力。 1.2 1.2 开发目的和意义开发目的和意义 网络通信在当今信息社会中起着不可或缺的作用,人们可

8、以利用网络通信技术进行即时的信息 交流。比如说 QQ 聊天工具,它就是利用网络通信技术开发的一款众所周知的网络聊天工具。通讯工具最初虽为聊天而诞生,但其作用早已超出了聊天的范畴,随着企业即时通讯工具的出现,即时信息在网络营销中将发挥更大的作用。 目前,信息交流是互联网提供的主要内容,网络通信系统有多种实现方 式,类似 ICQ属于一种点对点的聊天系统;还有一种是基于 Socket 的集中式聊天系统,这种聊天系统需要登录统一的聊天服务器。 考虑到要可以在局域网中应用, 本系统使用的是第二种方法,经过设置,在局域网或 internet 上都可以使用。 2 1.3 1.3 研究内容研究内容 1、即时通

9、讯原理 首先验证登陆,如果成功,则建立与服务端的 socket 连接,服务端新开启一个线程专门为它服务, 将打包好的 Message 发送给服务器端, 服务器端根据 Message 里面的信息,再将信息转发给其他用户。一个标准的 C/S 模式。 2、Swing 技术 Swing 是一个用于开发 Java 应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。用来实现客服端的界面设计。 3、Java web 和 struts2 技术 采用 B/S 的结构实现服务器端,对用户和在线用户进行增删改查,和踢用户下线,以及开启服务器和关闭服务器。

10、4、系统的构建 客户端采用 C/S 结构,管理端采用 B/S 的结构,用 Tomcat 作为服务器,MySQL作为数据库,还使用到了 WindowBuilder 开源框架进行界面开发。 3 第第 2 2 章章 即时通讯系统的相关研究即时通讯系统的相关研究 2.1 C/S2.1 C/S 开发模式开发模式 C/S 结构的优点是能充分发挥客户端 PC 的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。缺点主要有以下几个: 而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来

11、处理分布式的数据。 客户端需要安装专用的客户端软件。首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。还有,系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。(大多数没法自动升级而需要人工升级) 对客户端的操作系统一般也会有限制。可能适应于 Windows 98,但不能用于 Windows 2000 或 Windows XP。或者不适用于微软新的操作系统等等,更不用说 Linux、Unix 等。 2.2 B/S2.2 B/S 开发模式开发模式 B/S 结构(Browser/Server 结构)结构即浏览器和服务器结构。它是随着 Intern

12、et 技术的兴起,对 C/S 结构的一种变化或者改进的结构。 在这种结构下,用户工作界面是通过 WWW 浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层 3-tier 结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO) 。 以目前的技术看,局域网建立 B/S 结构的网络应用,并通过 Internet/Intranet 模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如 LAN, WAN, Inte

13、rnet/Intranet 等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。 特别是在 JAVA 这样的跨平言出现之后,B/S 架构管理软件更是方便、速度快、效果优。 4 2.32.3 即时通讯原理即时通讯原理 登陆进入聊天软件后,即显示出好友列表,在线的显示亮头像,不在线的显示灰色头像。双击好友头像即会显示出聊天界面。 在聊天页面上,有发送文字,发送截图,和发送文件的功能按钮。 点击“发送”按钮之后,程序就会把输入的信息的种类,信息内容、本人的 ID 号、对方的 ID号以及当前的时间等内容打包成一个 Message对象通过 Socket 发送到服务器

14、端。 服务器接收到 Message 之后,按照协议进行解析和转发。这样,双方的即时通讯就实现了。 2.4 Java Web 2.4 Java Web 、struts2struts2、AjaxAjax、javascriptjavascript 应用技术应用技术 通过这些技术,实现服务器的后台管理端,对用户和在线用户进行增删改查,和踢用户下线,以及开启服务器和关闭服务器。以及用户的注册,前台验证等等 2.5 MySQL2.5 MySQL 数据库应用技术数据库应用技术 使用 MySQL 存储用户信息,采用 JDBC 技术对其进行增删改查。 2.6 Socket2.6 Socket 通信技术通信技术

15、Socket 程序的工作过程: 1、建立 Socket 连接:在通信开始之前由通信双方确认身份,建立一条专用的虚拟连接通道。 2、数据通信:利用虚拟连接通道传送数据信息进行通信。 3、关闭:通信结束时,再将所建的虚拟连接拆除。 具体如下: 服务器 5 图 2-1 socket 通信 2.7 2.7 开发环境的搭建开发环境的搭建 客户端采用 C/S 结构,管理端采用 B/S 的结构,用 Tomcat 作为服务器,MySQL 作为数据库,还使用到了 WindowBuilder 开源框架进行界面开发。 6 第第 3 3 章章 系统分析系统分析 3.1 3.1 系统基本功能描述系统基本功能描述 客户端可以实现注册,即时聊天,相互之间收发文件,发送截图,查看历史聊天记录等功能。收发消息时,可以实现离线接收。 服务器端应当建立一个 ServerSocket, 并且不断进行侦听是否有客户端连接或者断开连接(包括判断没有响应的连接超时)。服务器端应当是一个信息发送中心,所有客户端的信息都传到服务器端,由服务器端根据要求分发信息。 在后台管理系统,可以到对用户进行增删改查,查看在线用户,和踢用户下线 3.2 3.2 可行性分析可行性分析 本系统的可行性分析包括以下几个方面的内容: (1) 技术可行性 使用 Swing 和 socket 技术,可以很轻松地开发出实用、简便、

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号