即时通讯系统的设计与实现.docx

上传人:b****5 文档编号:5136592 上传时间:2022-12-13 格式:DOCX 页数:52 大小:50.67KB
下载 相关 举报
即时通讯系统的设计与实现.docx_第1页
第1页 / 共52页
即时通讯系统的设计与实现.docx_第2页
第2页 / 共52页
即时通讯系统的设计与实现.docx_第3页
第3页 / 共52页
即时通讯系统的设计与实现.docx_第4页
第4页 / 共52页
即时通讯系统的设计与实现.docx_第5页
第5页 / 共52页
点击查看更多>>
下载资源
资源描述

即时通讯系统的设计与实现.docx

《即时通讯系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《即时通讯系统的设计与实现.docx(52页珍藏版)》请在冰豆网上搜索。

即时通讯系统的设计与实现.docx

即时通讯系统的设计与实现

第一章绪论

1.1即时通讯的概念

1.2即时通讯的国内外发展状况

1.3课题内容简介

第二章即时通讯系统设计与分析

2。

1需求分析

2。

1。

1功能需求

2。

1。

1.1用户注册

2。

1。

1。

2用户登录

2。

1.1.3刷新好友列表

2.1.1。

4好友管理

2.1。

1。

5用户查询

2。

1.1.6聊天

2.2概要设计

2。

2。

1系统框架设计

2。

2。

2系统拓扑结构

2.3功能设计

2。

3。

1用户注册模块

2.3。

2用户登录模块

2。

3.3好友管理模块

2。

3.4查找用户模块

2。

3.5即时通讯模块

2.3。

6刷新好友列表模块

2。

4数据库设计

第三章系统客户端、服务器开发平台搭建

3.1系统客户端开发平台搭建

3。

1。

1开发Android程序软件需求

3.1.2开发Android程序硬件最低需求

3.1。

3JDK的安装

3。

1.4Android开发环境的安装

3。

1。

5安装Eclipse插件ADT

3.2系统服务器开发平台搭建

第四章系统客户端设计与实现

4。

1Android系统简介

4。

2客户端使用到的接口介绍

4。

3客户端实现

4。

3。

1用户注册模块实现

4。

3.2用户登录模块实现

4。

3。

3刷新好友列表模块实现

4。

3.4好友管理模块实现

4。

3.5用户查询模块实现

4.3。

6聊天模块实现

第五章系统服务器设计与实现

5.1GoogleAppEngine简介

5.2服务器端实现

5.2。

1服务器用户注册

5。

2.2服务器用户登录

5。

2。

3服务器在线服务

第六章结论与展望

第一章绪论

1.1即时通讯的概念

即时通讯(InstantMessenger,简称IM),是指能够即时发送和接收互联网消息等的业务。

自1998年面世以来,特别是近几年的迅速发展,即时通讯的功能日益丰富,逐渐集成了电子邮件、博客、音乐、电视、游戏和搜索等多种功能.即时通讯不再是一个单纯的聊天工具,它已经发展成集交流、资讯、娱乐、搜索、电子商务、办公协作和企业客户服务等为一体的综合化信息平台.是一种终端连网即时通讯网络的服务。

即时通讯不同于e—mail在于它的交谈是即时的。

大部分的即时通讯服务提供了状态信息的特性──显示联络人名单,联络人是否在在线与能否与联络人交谈。

即时通讯的最大特点是在网上进行信息的实时交流.它的产生有着深刻的社会和技术的原因。

大凡人们都有渴望社交、获得社会尊重、实现自我的需求,这正是即时通讯软件风行的驱动力。

而物质文明的日益发达所带来的副作用,又使得人们习惯地与周围的人保持距离,以致人们更愿意对陌生人敞开心扉.与传统通讯方式相比,即时通讯具备快捷、廉价、隐秘性高的特点,在网络中可以跨年龄、身份、行业、地域的限制,达到人与人、人与信息之间的零距离交流。

从这点上讲,即时通讯的出现改变了人们的沟通方式和交友文化,大大拓展了个人生活交流的空间。

近年来,随着无线通信的快速发展,移动互联网为传统的Internet注入了新的活力,同时也为即时通讯带来了一场革命,交互双方已经不再局限于以网络终端设备为唯一的接入手段,PC机在传统的网络即时通讯中所起的作用正在被手机、平板电脑所取代。

这使得即时通讯更加大众化和人性化,即使不会使用电脑的人现在也可以享受到即时通讯给人们带来的变化.另外,即时通讯软件被加入了越来越多的新功能,使它正从毫无商业价值的聊天、游戏转变出来,成为能为商业带来商机和实惠的领域,所有这一切都让人们对即时通讯赋予了越来越多的注意力。

可以说,即时通讯的发展把后PC时代的特征体现的淋漓尽致,人们从来没有像今天这样感受到天涯咫尺。

纵观即时通讯软件业的迅速发展,设计并开发一个即时通讯平台,对于现阶段的学习和研究,都是极为有意义的,基于这个前提和起因,我选择了设计即时通讯系统作为我的毕业设计。

1.2即时通讯的国内外发展状况

即时通讯软件,几乎是每一个上网用户都必备的联络工具.即时通讯软件除了能够让您迅速地在网上找到自己的朋友和工作伙伴,还可以实时交谈和传递信息,而且,现在不少即时通讯软件还集成了文件共享、语音聊天、网络会议等功能。

截止到目前,全球约有近3亿多人使用即时通讯软件进行交流,正因为即时通讯软件拥有数以亿计的用户和迅速增长的市场,所以各个公司都盯上了中国这个潜在的最大市场,一时间,即时通讯市场硝烟四起。

除了腾讯QQ和国外的几款著名即时通讯软件纷纷推出新版本,网易也推出了一种新的即时通讯软件—-网易泡泡。

朗玛公司也推出了名为UC的通讯工具。

即时通讯软件最早发布于1996年11月15日,以色列特拉维文的MirabilisLtd.发表了一个题为《E.TSURFHOME:

MIRABILISLTD。

PROVIDESNEWSOLUTIONSFORPEER—TO—PEERINTERNETCOMMUNICATIONS》的新闻稿,同时发布了他们新产品ICQ(ISeekYou)的Beta测试版。

这天标志着Internet上的第一个成热的即时通讯系统(InstantMessageSystem)的诞生。

即时通讯服务在诞生之后的几年时间得到了迅猛发展,成为新增Internet用户的3个主要应用之一(WEB,电子邮件和即时通讯)。

在国内,1999年2月,深圳腾讯公司正式发布OICQ99betabuild0210,开通腾讯即时通讯服务。

2000年5月,腾讯QQ同时在线用户突破10万;2001年2月l0日,腾讯QQ同时在线用户突破100万。

2004年4月份腾讯QQ同时在线人数最高记录已经突破了600万大关,现在腾讯公司正在把即时通讯系统往移动通讯方向扩展,如今已经将即时通讯与手机短信息(SMS)成功结合起来。

即时通讯软件涉及和影响的领域已近越来越广,其竞争也越来越激烈.国内QQ最大的敌手朗玛UC从2001年开始研发,2002年的12月份UC正式发布,并且首创了很多技术:

UC是国内第一个做场景聊天的;UC是第一个把同学录和校友录结合的;第一个把即时通讯与休闲游戏相结合的;第一个把发送动画与即时通讯相结合的。

在一年的发展里,UC一度达到峰值在线30万人,注册用户达到7000万.

与此同时,信息化建设的加速将促进企业即时通讯市场发展。

中国政府积极推进企业信息化应用的发展。

国家有关部门已经提出,要加快建立企业信息化应用的公共服务平台,对于中小企业由政府组织并给予一定的资金扶持。

当前,政府的有关部门已经着手中小企业电子商务应用的经验交流、技术推广、人才培训等方面的工作。

企业即时通讯作为企业信息化建设的一部分,同样能从该政策中得到发展机会。

服务商市场开拓中,也把为企业服务作为工作的重点之一,越来越多的软件开发商把企业即时通讯应用产品的开发作为软件开发的重点之一。

政府积极促进企业提高认识,加深对信息化的重要性和必要性以及内涵的理解,间接提高了企业对即时通讯应用的自觉性和紧迫性,把即时通讯建设作为加速企业发展的助推器。

统一通信成为发展趋势。

与个人即时通讯需求相比,企业即时通讯要求融入更多的通信手段,单一的PC对PC消息传输必定无法满足企业的需求,由于企业对效益的追求,导致企业对效率的要求不断增高,而信息的有效传达是确保企业内部效率提升的必要条件,这就要求未来即时通讯服务商能够提供短信、邮件、电话、传真等多渠道的解决方案,以及支持文字、音频、视频等多媒体的服务平台。

代理渠道萎缩,合作伙伴加强。

渠道中除总代理、行业代理和区域分销商外,增值代理商和解决方案业务伙伴将成为未来企业即时通讯产品渠道的重要发展环节,在渠道建设中地位也将逐步提高,他们将成为服务商收入的主要来源之一。

原因有两方面:

首先,代理商对于企业即时通讯软件服务商来说不够稳定。

首先,代理商有自己选择代理产品的权利;其次,服务商无法满足企业客户对技术不断调整的需求;再次,代理商会削弱服务商对客户的掌控能力,一旦客户存在技术需求,服务商难以直接、高效的提供服务,将直接导致客户对服务商产品的满意度。

其次,合作伙伴具有自己的核心技术,比如ERP、OA等产品,在集成企业即时通讯模块的过程中,对产品有一个很好的衡量和认识,一旦产品优秀,合作伙伴将会充分的向客户推荐该服务商提供的产品;此外,合作伙伴和服务商之间存在互利关系,合作伙伴可以从所集成的企业即时通讯服务中获利。

而更为重要的是,服务商可以直接的接触到最终客户,为其提供完善的服务.

1.3课题内容简介

通过以上对即时通讯软件发展状况的分析,再加上国内3G时代的到来,互联网速度的飙升,开发一款简单实用大众化地即时通讯产品在后PC时代的信息产业领域具有旺盛的生命力.不仅为大众提供了通讯的方便,也是对自我四年大学学习的重大考验。

产品定位:

◆大多数人能够使用,操作者有无相关专业知识都可

主要功能有:

◆用户注册

◆用户登陆

◆刷新好友列表

◆好友管理

◆即时通讯

◆用户查询

实现技术:

◆基于HTTP协议的网络编程

◆GoogleAppEngine开发技术

◆多线程编程

◆WEB开发技术

◆Android平台开发

使用软件:

◆JDK

◆MyEclipse8.5

◆GoogleAppEngineSDKForJava

◆Eclipse3.4

第二章即时通讯系统设计与分析

2.1需求分析

2。

1.1功能需求

2.1.1。

1用户注册

用户第一次使用本系统时,可以点击手机界面上的注册按钮进行新用户注册。

注册时用户需提供密码、用户名、头像、电话、性别、年龄、居住地、昵称信息,但不是所有的都必须填。

用户注册如图2—1—1:

图2—1—1用户注册用例图

2.1。

1。

2用户登录

系统启动默认进入登录界面,已经拥有账号的用户可以直接输入ID、密码进行登录。

只有在ID、密码由服务器验证通过后才可正确登录.用户注册如图2-1—2:

图2-1—2用户登录用例图

2.1。

1.3刷新好友列表

当用户通过ID、密码验证正确登录之后,就可以看到好友列表界面.用户可通过菜单选择刷新好友列表,这时需要更新用户的好友列表。

刷新好友列表如图2—3:

图2-1—3刷新好友列表用例图

2。

1.1。

4好友管理

在好友管理中,用户可以选择添加其他用户为其好友,待对方接受之后就完成添加好友。

用户也可以选择删除自己的好友,此过程无需对方确认。

好友管理如图2—1—4:

图2—1—4好友管理用例图

2.1。

1。

5用户查询

在用户登录成功之后可以查看其他用户,可以根据ID、用户名、是否在线这些条件来更加精确地进行用户查找。

用户查找如图2—1—5:

图2—1-5用户查找用例图

2.1.1.6聊天

用户可以选择自己的一个好友,进入聊天界面进行聊天,关闭与一个好友的聊天界面之后回到主界面。

即时通讯如图2-1—6:

图2—1-6即时通讯用例图

2.2概要设计

2.2.1系统框架设计

本系统总体框架如图2-2—1:

图2—2-1系统总体框架图

2.2。

2系统拓扑结构

系统拓扑结构如图2-2—2:

图2—2-2系统拓扑结构图

本系统采用星型拓扑结构进行构建,使用本系统的每一个实体都必须通过客户端进行注册,才可登录并使用本系统。

在本系统的通信上采用Http协议来承载XML格式的私有协议,HTTP是为分布式超媒体信息系统设计的一个协议。

它是无状态、面向对象的协议.HTTP一般用于名字服务器和分布式对象管理。

由于HTTP1.0能够满足WWW系统客户与服务器通信的需要,从而成为WWW发布信息的主要协议。

一、HTTP的主要特点:

1、客户/服务器模式HTTP支持客户(浏览器)与服务器间的通信,相互传送数据.一个服务器可以为分布在世界各地的许多客户服务。

HTTP定义的事务处理由以下四步组成:

·客户与服务器建立连接;·客户向服务器提出请求;·如果请求被接受,则服务器送回应答,在应答中包括状态码和所要的文件;·客户与服务器断开连接。

2、简单HTTP本身既简单,又能有效地处理大量请求。

在客户与服务器连接后,客户必须传送的信息只是请求方法和路径.HTTP规范说明了定义的几种请求方法,实际上常用的只是其中的三种GET、HEAD、POST。

每种方法规定客户与服务器联系的类型不同。

正是因为HTTP简单,使得HTTP服务器程序规模小,而且简单。

这样做的直接效果是经由HTTP的通信速度很快。

与其它协议相比,时间开销小得多。

3、灵活HTTP允许传输任意类型的数据对象。

Content-Type标识正在传输的数据类型。

如果把数据看成是装在”罐”里的东西,那么Content-Type是贴在罐上的标签,它告诉人们里面装的是什么东西。

4、无连接HTTP是一个无连接协议。

它的含义是限制每次连接只处理一个请求。

客户与服务器连接后提交一个请求,在客户接到应答后马上断开连接。

5、无状态HTTP是无状态的协议。

它既是优点也是缺点.一方面,由于没有状态,协议对事务处理没有记忆能力.如果后续事务处理需要前面处理的有关信息,那么这些信息必须在协议外面保存。

缺少状态意味着所需要的前面信息必须重现,势必导致每次连接要传送较多的信息。

另一方面,也正是由于缺少状态使得HTTP累赘少,运行速度高,服务器应答较快。

2。

3功能设计

系统功能设计如图2—3—1:

图2-3—1系统功能设计图

2.3.1用户注册模块

用户需要正确填写自己的提供密码、用户名、头像、电话、性别、年龄、居住地、昵称信息,注册成功后,系统会返回给用户一个由6位数字组成的ID,用户必须记住此ID,以便登录时使用。

用户注册流程如图2—3-2:

图2-3-2用户注册流程图

2。

3。

2用户登录模块

用户需要正确填写自己成功注册时获取的ID、密码,如果验证通过,则可以进入到本系统主界面,给自己好友留言或与在线好友进行即时通讯。

用户登录如图2—3-3:

图2—3—3用户登录流程图

2。

3。

3好友管理模块

好友管理模块包括对好友的添加与删除。

添加好友过程中,好友不能为空,不能加自己为好友,要添加的好友必须存在并且不能有重复的好友。

删除好友过程中,只要选定好友列表中的一个,选择Menu中的删除好友即可删除成功。

好友管理如图2-3—4:

图2-3-4好友管理流程图

2.3。

4查找用户模块

在用户登录成功之后可以查看其他用户,可以根据ID、用户名、是否在线这些条件来更加精确地找到其他用户,查找好友如图2-3-5:

图2-3-5查找好友流程图

2。

3。

5即时通讯模块

当用成功登录之后,可以选择自己的一个好友,进入聊天界面进行聊天,关闭与一个好友的聊天界面之后回到主界面。

聊天流程如图2-3—6:

图2-3—6即时通讯流程图

2.3。

6刷新好友列表模块

用户通过菜单选择刷新好友列表,这时需要更新用户的好友列表,其流程如图2—3-7:

图2—3-7刷新列表流程图

2.4数据库设计

在本系统中数据的存储采用GoogleAppEngine提供的数据存储区来进行存储。

AppEngine数据存储区存储数据对象(称为“实体")并对其执行查询。

一个实体具有一个或多个属性(若干受支持数据类型中某一类型的命名值)。

属性可以是对另一实体的引用。

数据存储区可以在一个事务中执行多个操作,如果任一操作失败则回滚整个事务。

这对于分布式网络应用程序尤其有用,在这种分布式网络应用中,多个用户可以同时访问或处理同一数据对象。

与传统数据库不同,该数据存储区使用分布式体系结构管理向超大型数据集的扩展.AppEngine应用程序可以通过描述数据对象之间的关系,以及定义查询的索引,来优化数据的分布方式。

AppEngine数据存储区具有高度的一致性,但不是关系数据库.虽然该数据存储区接口有许多与传统数据库相同的功能,但也具有独特的特征,它采用了不同的数据设计和管理方式,可以充分利用自动扩展功能。

即时通讯系统中需要对用户信息、好友关系、留言等各方面信息进行管理。

这些信息都保存在数据存储区中,因此需要建立相应的表结构来存储这些相应的数据。

所有表结构设计如下:

表汇总:

表名

功能说明

t_user

存放用户个人信息

t_buddylist

存放好友关系

t_message

存放离线用户收到的留言信息

表t_user:

表名

t_user

列名

数据类型

是否为空

字段说明

u_id

Varchar(20)

用户登录ID

password

Varchar(20)

密码

u_nickname

Varchar(20)

昵称

u_sex

Varchar(4)

性别

u_age

Int(4)

年龄

u_phone

Varchar(20)

电话

u_signature

Varchar(20)

签名

icon

Varchar(20)

头像

city

Varchar(20)

所在地

表t_buddylist:

表名

t_buddylist

列名

数据类型

是否为空

字段说明

u_id_a

Varchar(20)

用户a的ID

u_id_b

Varchar(20)

用户b的ID

表t_message:

表名

t_message

列名

数据类型

是否为空

字段说明

from_u_id

Varchar(20)

信息来源

to_u_id

Varchar(20)

信息去向

package

Varchar(300)

信息包

第三章系统客户端、服务器开发平台搭建

3.1系统客户端开发平台搭建

3。

1。

1开发Android程序软件需求

●JDK(建议安装JDK1.6及其以上版本,可以在官方网站上下载)

●AndroidSDK

●Eclipse3.4(Ganymede)

●ADT(AndroidDevelopmentTools,开发Android程序的Eclipse插件)

3。

1.2开发Android程序硬件最低需求

CPUPII以上,64M内存,100M硬盘空间

3。

1.3JDK的安装

运行jdk1。

6.0.exe,安装过程中可以设置安装路径、选择组件,系统默认安装路径C:

\ProgramFiles\Java\jdk1.6.0,默认组件选择是全部安装.安装成功后,JDK的目录结构如图3—1-1:

图3—1-1JDK的目录结构

由于Java是平台无关的,安装JDK是Java不会自动设置路径,也不会修改注册表,需要用户自己设置环境变量,但不需要修改注册表。

Windows中需要设置两个环境变量path和classpath。

path变量指出Java提供的可执行文件的路径,classpath变量指出Java包的路径。

下面开始设置环境变量:

右键单击“我的电脑",在弹出的快捷菜单中选择“属性”,在弹出的“系统属性"对话框中选择“高级”选项卡,单击【环境变量】按钮,系统弹出“环境变量”对话框,如图3-1-2:

图3-1-2“环境变量”对话框

path是Windows已定义的变量,找到“Path”,单击【编辑】按钮,将“;C:

\ProgramFiles\Java\jdk1.6.0_02\bin”加到“变量值”文本框后边,然后单击【确定】按钮。

通常Windows中没有classpath环境变量,需要新建。

单击【新建】按钮,变量名为“classpath”,变量值为“。

;C:

\ProgramFiles\Java\jdk1.6。

0_02\lib”,这是JDK包的路径.至此,JDK安装完成。

3.1。

4Android开发环境的安装

首先下载最新版本的AndroidSDK,下载地址:

http:

//androiddocs。

appspot。

com/sdk/index。

html

注意,AndroidSDK是在线安装,在安装AndroidSDK之前要保证有稳定而快速的Internet连接。

如果完全安装AndroidSDK,安装时间会比较长,请耐心等待.如果安装AndroidSDK时下载文件失败,可以将如图3-1-3所示的安装界面右下角的第1个复选框选中,然后重新安装。

如果安装顺利,将出现如图3-1-4所示的安装界面。

图3—1—3使用http下载文件

图3-1-4安装过程的下载界面

AndroidSDK安装成功后,会看到如图3-1-5所示的AndroidSDK根目录结构。

Platforms目录包含了当前SDK支持的所有版本,如图3-1-6所示。

图3-1—5AndroidSDK根目录

图3-1—6所有AndroidSDK版本

3.1。

5安装Eclipse插件ADT

Eclipse的安装直接解压即可使用,在此不再细说。

安装ADT插件:

打开已经安装好的Eclipse,单击【help】>【SoftwareUpdates】菜单项。

在显示的对话框中单击【AvailableSoftware】标签页,然后单击【Addsite.。

.】按钮.在显示的对话框的文本框中输入如下地址:

http:

//dl-ssl。

单击【OK】按钮关闭对话框。

回到【AvailableSoftware】标签页,选中刚才增加的地址,然后单击右侧的【Install】按钮开始安装ADT插件。

在弹出的安装对话框中选中AndroidDDMS和AndroidDevelopmentTools两项,单击【Next】按钮进入下一个安装界面,选中接受协议复选框,最后单击【Finish】按钮开始安装。

当成功安装ADT后,重启Eclipse,这时需要设置一下AndroidSDK的安装目录。

单击【Windows】〉【InstallNewSoftware.。

】菜单项.在弹出的对话框中选中左侧的【Android】节点.在右侧的【SDKLocation】文本框中输入AndroidSDK的安装目录,如图3—1—7所示:

图3—1—7设置AndroidSDK安装目录

至此,客户端开发环境正式安装完成,可以进行客户端的开发。

3。

2系统服务器开发平台搭建

首先依然是需要下载各种需要的软件如JDK、Eclipse3.4(Ganymede)、EclipseGoogle插件。

JDK和Eclipse的安装在上面已经完成,不在重复.因此,直接进行EclipseGoogle插件的安装,此插件的安装方式有两种。

其一:

下载插件包到自己的电脑上进行本地安装;其二:

通过Eclipse进行在线安装,所以需要有稳定的Internet连接。

在这里介绍第二种安装方法:

打开已经安装好的Eclipse,单击【help】〉【SoftwareUpdates】菜单项。

在显示的对话框中单击【AvailableSoftware】标签页,然后单击【Addsite.。

】按钮.在显示的对话框的文本框中输入如下地址:

单击【OK】按钮关闭对话框。

回到【AvailableSoftware】标签页,选中刚才增加的地址,然后单击右侧的【In

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

当前位置:首页 > 高等教育 > 艺术

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

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