H2003032027_寇建波_一个简单的即时通讯工具的设计与开发.doc
【精品】java一个简单的即时通讯工具的设计与开发(源代码+论文)
收藏
资源目录
压缩包内文档预览:(预览前20页/共35页)
编号:1638253
类型:共享资源
大小:4.47MB
格式:RAR
上传时间:2017-08-30
上传人:机****料
认证信息
个人认证
高**(实名认证)
河南
IP属地:河南
30
积分
- 关 键 词:
-
精品
java
一个
简单
即时通讯
工具
设计
开发
源代码
论文
- 资源描述:
-
【精品】java一个简单的即时通讯工具的设计与开发(源代码+论文),精品,java,一个,简单,即时通讯,工具,设计,开发,源代码,论文
- 内容简介:
-
分类号: U D C: 007)5915 级:公 开 编 号: 2003032027 成都信息工程学院 学位论文 一个简单的即时通讯工具的设计与开发 论文作者姓名: 寇建波 申请学位专业: 网络工程 申请学位类别: 工学 学士 指导教师姓名(职称): 何林波 论文提交日期: 2007 年 06 月 10 日 一个 简单的即时通讯工具的设计与开发 摘 要 即时通讯( 目前 最为流行的通讯方式,各种各样的即时通讯软件也层出不穷;服务提供商也提供了越来越丰富的通讯服务功能 。 当前比较流行的 开发 语言之一,它有着自己的易用特点与性能优势 , 比如跨平台、安全性、多线程、网络 程、数据流概念等方面,因此 通过对开源即时通讯 研究和分析, 基于 言和 范设计了一个即时通讯工具 并对其体系结构、构成模块及系统关键技术进行 了分析 与设计 。 在系统设计与建模过程中,使用了面向对象的分析、设计方法, 并使用 为建模工具; 使用 作为开发工具,在开发过程中用到了时下流行的重构开发方法, 优化了系统的设计 。力图使 系统具有安全、高效、实用、支持 在不同系统平台运行 等特点。 关键词 : 即时通讯 ; 多 线程 ; 程 ; of a is to on so is of of so on 2an as as of ML of is on in is to is in 录 论文总页数: 30 页 1 引言 . 1 目开发背景 . 1 目背景 . 1 术背景 . 1 系统设计的意义 . 2 2 相关理论及基础技术与开发平台 . 2 时通讯 应用工作原理分析 . 2 用技术 . 3 具及开发平台 . 4 统配置要求 . 5 3 系统体系结构的设计 . 5 求描述 . 5 统架构设计 . 6 统的总体功能设计 . 7 体功能设计 . 7 册模块设计 . 8 录模块设计 . 10 户间交互模块设计 . 12 据库设计 . 14 据库物理模型 . 14 据字典 . 15 4 系统实现 . 16 络通讯编码实现 . 16 天客户端部分代码 . 16 务器端监听与转发消息代码 . 17 务端单线程上线处理代码 . 18 统运行的效果图 . 20 录界面 . 20 界面 . 20 聊天界面 . 21 友聊天界面 . 22 友查找界面 . 23 册模块 的实现 . 24 据库连接 . 24 符编码过滤器的核心代码 . 24 册模块运行效果图 . 25 页面 . 25 册页面 . 25 5 系统测试与运行 . 26 结 论 . 27 参考文献 . 28 致 谢 . 29 声 明 . 30 第 1 页 共 30 页 1 引言 目开发背景 目背景 “即时通信产品”最早的创始人是三个以色列青年,是他们在 1996 年做出来的,取名叫 I 随后,腾迅 住 大好机遇, 在中国迅速崛起并垄断即时通讯市场。自从腾迅的 中国即时通讯行业垄断后,即时通讯的产品在 业可谓雨后春笋,层出不穷,目前, 台方面的即时通讯已经很多,但是其他系统比如 台,虽然有类似 面的一些产品,比如 数量毕竟不多且功 能界面等都还不是很理想,鉴于此 种情况 ,我们开发了基于 言的即时通信系统 (该系统 是以 言实现的网络即时通信工具,包括服务器端和 客户端,可以在企业内部网络和互联网上运行 ,同时具有 用的跨平台特性,方便运行在各个系统之上。 该系统具有 相对 比较漂亮的界面以及类似于很多功能,比如可以和好友进行交流以及离线发送与好友管理、可以加入不同的群,即时发送、即时回复等功能 。 术 背景 技术上采用 司的 言 ,该语言有很多有点,比如多线程、网络流概念、异常捕获处理、安全性以及速度与性能等方面,并且具有可以一次编写、到处运行的跨平台优点。 多线程: 多线程是这样一种机制 ,它允许在程序中并发执行多个指令流 ,每个指令流都称为一个线程 ,彼此间互相独立 ,线程又称为轻量级进程,多线程技术允许你在一个应用程序中启动多个执行轻量程序,使多段程序同时竞争 而提高系统效率。而对于网络通讯工具来说,多线程的特性是必须的,不仅是为了效率,而且可以实现同时处理多个请求。 网络流: 念来理解的,这样,网络上数据的传输其实就等同于看成一台机器上文件的读取,有利于理解与编写运用程序, 库中提供了丰富的 类资源以及网络编程类资源,软件开发人员可以很方便的编写网络应用程序。 例外处理: 过面向对象的方法来处理例外。在一个方法的运行过程中,如果发生了例外,则这个方法生成代表该例外的一个对象,并把它交给运行时系统,运行时系统寻找相应的代码来处理这一例外。我们把生成例外对象并把它提交给运行时系统的过程称为抛弃 (个例外。运行时系统在方法的调用栈中查找,从生成例外的方 法开始进行回朔,直到找到包含相应例外处理的方法为止,这一个过程称为捕获 (个例外。 所以, 例外处第 2 页 共 30 页 理使非常方便的。 跨平台: 言的一个非常重要的特点就是与平台的无关性。而使用拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行 ,至少需要编译成不同的目标代码。而引入 言虚拟机后 ,言在不同平台上运行时不需要重新编译。 言使用模式 拟机屏蔽了与具体平台相关的信息 ,使得 字节 码 ),就可以在多种平台上不加修改地运行。 拟机在执行字节码时 ,把字节码解释成具体平台上的机器指令执行。 系统设计的意义 伴随着 当今互联网迅速 发展 ,网上通讯成为一种必不可少的 通讯 习惯,该系统的设计 就 是为了实现 在 互联网上的即时通讯,它是利用当今最为流行的程语言来实现 即时通讯工具的雏形,同时 在系统开发过程中所用的 都是用的技术或者难点,比如用 么去做一个界面美观的应用程序、 网络编程技术 的原理与应用 、以及 如何根据 范 去 开发一个基于 用 等关键技术。通过设计和开发该系统, 使自己所学的理论 知识 得到实践应用, 也对即时通讯软件的通讯原理有了比较深刻的认识, 大大的提高了自己的动手能力和解决问题的能力, 为今后工作打下坚实的基础 。 2 相关理论及基础技术与开发平台 时通讯应用工作原理分析 我们经常听到 户数据报协议 )这两个术语,它们都是建立在更低层的 者是以数据流的形式,将传输数据经分割、打包后,通过两台机器之间建立起的虚电路,进行连续的、双向的、严格保证数据正确性的文件 传输协议。而后者是以数据报的形式,对拆分后的数据的先后到达顺序不做要求的文件传输协议。 消息 ”的。当你的机器安装了 际上,你既是服务端( 又是客户端( 当你登录 的 你 “看谁在线 ”时,你的 Q 你和你的 果你和对方的连接比较稳定,你和他的聊天内容都是以 计算机 之间 传送。如果你和对方的连接不是很稳定 , 中转 ”。其他的即时通信软件原理与此大同小异。 建立点对点的联系。 第 3 页 共 30 页 好友 (间采用 用服务器中转的方式完成。我们看到两个 在两个不同的内网上,它们经过登录后可以不同过服务器来直接通讯 。那这是为什么呢。其根本原因是 样用户之间 的通讯自己完成就减少了服务器的负担。那么到底原理是什么样的,为什么 就涉及到 术。 于 责把内部 部网络的主机不可能同时与外部网络通信,所以只有一部分内部地址需要翻译。翻译可以采取静态翻译和动态翻译两种。静态翻译将内部地址和外部地址一对一 对应。当使用了动态翻译时就采用 过改变外出数 据的源 就是 在这种情况下,一个 以在 而达到了客户端直接通讯的目的。 总的来说 , 应用在客户端方面符合即时通讯系统的模型。客户端之间的通讯中,采用了 通讯方式,当客户端之 间无法直接通讯时,采用通过服务器转发的方式来实现即时信息的传送。 用技术 线程技术: 多线程的各个线程看上去像是并行地独自完成各自的工作,就像一台一台计算机上运行着多个处理机一样。在多处理机计算机上实现多线程时,它们确实可以并行工作,而且采用适当的分时策略可以大大提高程序运行的效率。 而作为接受客户端请求的服务器来说,必须使用多线程技术来接受不同时刻的请求,接收一个处理一个,将其放入线程队列,然后继续监听其他的请求。 网络通讯与 程: 络编程中有两种不同的通讯协议,分别是 向连接)与 向无连接),两种协议各有优缺点。 简称,是一种面向连接的保证可靠传输的协议。通过 议传输,得到的是一个顺序的无差错的数据流。发送方和接收方的成对的两个 间必须建立连接,以便在 议的基础上进行通信,当一个 常都是 待建立连接时,另一个 以要求进行连接,一旦这两个 接起来,它们就可以进行第 4 页 共 30 页 双向数据传输,双方都可以进行发送或接收操作。 简称,是一种无连接的协议,每个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径传往目的地,因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的。 据库技术 : 全称为 它是一个面向对象的应用程序接口( , 通过它可访问各类关系数据库。 心类库的一部分。 最大特点是它独立于具体的关 系数据库。与 似 , 定义了一些 , 句( , 结果集( 及其它的数据库对象 , 使得 序能方便地与数据库交互并处理所得的结果。使用 所有 序(包括 能通过 句或存储在数据库中的过程( 存取数据库。 面设计: 扩展包,其中包括众多的控件以及丰富的控件操作功能,使用户可以简单的利用它画出应用程序的界面,结合 的绝对定位类包,可以设计出非常好看的用户界面。 众多公司参与一起建立的一个动态网页标准技术, 可以快速开发出与平台无关的基于 运行的时候 是当今世界上面向对象系统开发领域中的工具之一,它是一种可视化的建模语言,能够让系统构造者用标准的 、 易于理解的方式建立起能够表达出他们想像力的系统蓝图,并且提供了便于不同的人之间有效地共享和交流设计结果的机制。它包含了 9种图形还有其他一些特征,很方便用户进行建模。 具及开发平台 全球第一的跨平台 发环境,可以用于构建符合工业标准的 用系统 , 不仅可以开发桌面级程序,并且可以 开发 及数据库等各类应用程序。双向、可视化设计工具使得我们可以快速的构建各种应用程序,并部署至多种应用程序服务器 ,利用 们可以快速、方便的构建出 用程序,并且其中提供了一个类似于 具有绝对的定位功能,我们不用再手工粗糙的排列 5 页 共 30 页 的 一切完全可以用 快速完成。 一个开放源代码的、基于 可扩展开发平台。就其本身而言,它只是 一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是, 带了一个标准的插件集,包括 发工具( 虽然大多数用户很乐于将 作 使用,但 目标不仅限于此。 包括插件开发环境( 这个组件主要针对希望扩展 软件开发人员,因为它允许他们构建与 境无缝集成 的工具。 更舒服的是,利用 的 件来搭建一个动态 序,快速,简单、方便。 套非常有使用价值的系统建模工具,其中提供了非常方便的系统建模功能,比如用例图、行为图、活动图、时序图等。利用它可以加快系统设计开发效率 ,同时可以给用户和开发者提供清晰的图,使他们之间的交流变得更加的方便有效 。 据库 是 微软的功能强大的数据库管理系统,具备很多数据库管理常用的功能,例如存储过程、数据查询与更新等,是一个非常理想的后台数据库系统。 运行环境 (器 ), 是一个免费的开源的 器,它是 金会的 目中的一个核心项目,由 其它一些公司及个人共同开发而成 。 统配置要求 推荐配置如下 : 上 , 内存 512 以上 ,运行平台基于 台。 客户端需要安装 拟机, 同时 还 要 有 客户端程序。 服务器端需要安装 据库 , 服务 器端如果是 统要打上 000的 同时服务器端需要安装 有 服务器端程序 。 3 系统体系结构的设计 求描述 伴随着当今互联网的迅速发展,人们之间的信息交互的实时性能变得越来越重要,传统的电子邮件交互已经不能够满足人们的即时通讯要求,鉴于此种情况打算开发出 一款类似于腾讯 即时通讯软件,只要经过注册 你便可以获取一个帐号,通过该帐号你可以在客户端 登陆, 成功登录后便可以 在互联网上与你的亲朋好友进行畅谈, 由于技术 和时间问题, 该软件主要提供私聊、群聊、第 6 页 共 30 页 好友管理、群管理等常用功能, 其它一些功能比如文件传输 、 语音聊天和视频聊天等功能 ,由于技术问题暂时没有实现,可以在该系统的基础上实现这些功能,也 可以在此基础上进行更多功能的扩展。 统架构设计 该系统主要包括三层,客户端,服务器端,以及数据库服务器, 客户端用来提供用户的登录,服务器端用来对登录的用户进行管理以及用来处理信息之间的转发,数据库服务器主要存放一些重要的信息。 它们之间的关系如下图所示: 图 1 三层模 型 中间层又分成四个部分: 图 2 中间层的构成 本系统采用的设计模型为 平时所说的 C/S 架构 , 统总体模型图如下: 客户端 服务器 数据库服务器 第 7 页 共 30 页 图 3 客户端 /服务器端模型图 统的总体功能设计 体功能设计 根据 上述 需求的描述, 对该系统按照功能进行了模块的细化, 主要包括注册登录 、 好友 聊天 、 好友组管理 、 群聊天 4 个 模块, 还有很多其它小模块,这4 个模块是实现 该 系统的核心模块,模块之间的耦合程度非常低,其中注册模块 是通过 B/S 结构来实现, 不需要安装客户端。 下图是 上述的 4 个 重要模块的用例交互图。 第 8 页 共 30 页 注册登录好友聊天好友组管理 Q 用户群聊天与管理图 4 总功能用例图 册模块设计 注册模块是整个系统的最基础模块, 该模块主要通过 B/术上 采用 N)层结构 ,它 有以下特点 : 化管理 ; 该模块 表现层 主要用的技术是 台数据库用的是 000数据库。 该模块主要包括以下功能:帐号注册 、 密码的找回 、 密码的修改 以及个人信息的查询。 通过该模块,用户可以与 务器交互进行号码的注册 、密码找回等功能。 下图是 一张简单的 结构图 ,该系统只是用到了其中的一部分技术 。 第 9 页 共 30 页 图 5 下边 是 用户注册与 例交互图。 提交注册资料注册服务器验证结果 Q 使用者注册 注册用例交互图 下边 是用户注册的活动图。 第 10 页 共 30 页 图 7 用户注册活动图 录模块设计 该模块主要 给注册成功的用户提供一个登录界面,用户根据自己注册的帐号信息可以与服务器交互, 如果提供的信息通过服务器的验证便可以 成功的登录系统, 成功 登录系统之后,可以进行一些操作,比如和好友聊天等, 使用该模块之前必须安装一个客户端。 登 录模块只是一个简单的页面,主要填写用户名 、 密码之类的信息,登录成功后的主界面包含了系统的大部分功能, 比如添加和删除好友 、 添加和删除好友分组 、 和朋友聊天等功能。 下图是登录模块的用例图。 合法 ? 合法 ? 是 否 否 是 第 11 页 共 30 页 登录 Q 用户查找好友监听服务器与聊天服务器交互图 8 登录用例图 下边的登录模块的活动图 ,主要是对用户提供的用户名和密码提供验证。 图 9 登录活动图 下边是用户之间交互信息的时序图 ,主要包括从用户登录到通过验证然后进行信息的发送,给好友发送信息包含两种情况,第一,如果好友在线的话消第 12 页 共 30 页 息直接通过服务器 中转发送给好友,如果对应的好友不在线,则讲发送的信息保存到数据库中,当该好友上线的时候从数据库中读出相应的信息进行发送。 图 10 用户信息交互图 户间交互 模块设计 该模块主要实现 已 用户之间的信息交流,用户交流的前提是先要添加好友,可以通过查找功能进行好友的查找,找到要添加的好友后, 通过发送好友申请消息 来添加好友 , 当对方通过添加好友的验证消息后 , 便可以成功的添加好友。只有成功的添加好友之后,才可以进行用户之间的信息的相互交互。下边是用户交互的用例图。 Q 用户之间信息交互好友申请好友添加验证 Q 用户 Q 用户 1 用户交互用例图 第 13 页 共 30 页 用户之间聊天的 信息主要通过聊天服务器进行中转,用户之间聊天内容主要存储在客户端的一些文件中,可以通过查看聊天功能来进行对这些聊天信息的读取。 下图是用户交互的活动图 : 图 12 用户交互活动图 下边是好友添加的时序图 在线? Y N 第 14 页 共 30 页 图 13 好友添加时序图 据库设计 据库物理模型 通过 对 系统 需求的 分析,在关系数据库中建立相应的表, 并建立了表之间的相互关系, 下边的图是在 000 下这些表之间的对应关系图 。 图 14 数据库物理模型 第 15 页 共 30 页 据字典 下边是关系数据库中每个表所对应 的字段的详细 信息 表 1 户表 )用来存放用户注册时的基本信息 简称 字段名 类型 长度 允许空 备注 码 K 码 0 称 00 实名称 00 龄 别 家 0 0 0 态 P 0 片 ID 子邮件 00 人签名 00 业 0 座 0 型 0 历 0 址 00 编 人主页 00 人爱好 件类型 0 机号码 1 户卡号 0 保提问 0 保答案 0 表 2 息表) 用来存放用户发送的离线消息 简称 字段名 类型 长度 允许空 备注 增主键 己号 友号 息标题 00 息状态 息内容 00 第 16 页 共 30 页 表 3 友表) 用来存放用户的好友信息 简称 字段名 类型 长度 允许空 备注 增主键 K 己 友 友 类别 K 表 4 友类别表) 用来存放用户的好友组信息 简称 字段名 类型 长度 允许空 备注 键自增 K 友组名称 00 码 表 5 户组表) 用来存放用户的群组信息 简称 字段名 类型 长度 允许空 备注 号码 K 名称 名称 00 图片 ID 类别 00 公告 00 信息 00 表 6 户和组关联表) 用户和组之间的关联表 简称 字段名 类型 长度 允 许空 备注 键 K K 码 K 名称 00 消息状态 4 系统实现 络通讯编码实现 天客户端部分代码 下边是聊天客户端的核心代码,它用来判定消息的来源以及针对该消息 所进行的相应的操作。 i=0;i 下边是 系统打包、部署与运行图 数据库服务器服务器端 Q 客户端 Q 客户端 Q 客户端 Q 客户端包括注册服务器T O M C A T ,聊天服务器图 22 系统部署图 结 论 通过 老师的指点和 自己的 努力,顺利地完成了该系统。 伴随着 当今 互联网的迅速发展 ,网上通讯 已经 成为 很多人的的一种交流方式 ,该系统的设计 就 是为了实现互联网上的即时通讯,它是利用当今最为流行的 程语言来实现的即时通讯工具的雏形, 其中涉及的很多方面都是 用的技术或者难点。你可以通过该系统进行号码的申请,申请号码之后,你可以登录系统进行一些简单的操作和设置 ,比如添加好友以及好友分组等,然后你可以和好友进行交流以及,譬如即时发送、即时回复等。 该系统 可以 运行在互联网或者局域网上,使用户可以很方便的进行信息的交流。 通过本系统的实 现,发现即时通讯具有很好的应用前景,而且功能会越来越完善,服务商所提供的服务也会越来越多,用户也越来越多,即时通讯软件本身的种类也在不断扩充,就一种即时通讯软件来讲也在不断的升级完善中。即时通讯的发展速度和应用可以说是 真诚的希望能有更多的科学工作者和专家加入到这一领域的研究中来 。 第 28 页 共 30 页 参考文献 1 冯博 , 应群 络编程 M清华大学出版社 , 2003。 2 程思想 M 机械工业 出版社 ,2003。 3 特罗特 美 M北京: 人民邮电出版社 ,2004
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
2:不支持迅雷下载,请使用浏览器下载
3:不支持QQ浏览器下载,请用其他浏览器
4:下载后的文档和图纸-无水印
5:文档经过压缩,下载后原文更清晰
|