ImageVerifierCode 换一换
格式:DOCX , 页数:52 ,大小:50.67KB ,
资源ID:5136592      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5136592.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(即时通讯系统的设计与实现.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、即时通讯系统的设计与实现第一章绪论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 数据库设计第三章系统客

2、户端、服务器开发平台搭建3.1 系统客户端开发平台搭建 3。1。1 开发Android程序软件需求 3.1.2 开发Android程序硬件最低需求 3.1。3 JDK的安装 3。1.4 Android开发环境的安装 3。1。5 安装Eclipse插件ADT3.2 系统服务器开发平台搭建第四章系统客户端设计与实现4。1 Android系统简介4。2客户端使用到的接口介绍4。3 客户端实现 4。3。1 用户注册模块实现 4。3.2 用户登录模块实现 4。3。3 刷新好友列表模块实现 4。3.4 好友管理模块实现 4。3.5 用户查询模块实现 4.3。6 聊天模块实现第五章系统服务器设计与实现5.1

3、 Google App Engine简介5.2 服务器端实现 5.2。1 服务器用户注册 5。2.2 服务器用户登录 5。2。3 服务器在线服务第六章结论与展望第一章绪论1.1即时通讯的概念 即时通讯(Instant Messenger,简称IM),是指能够即时发送和接收互联网消息等的业务。自1998年面世以来,特别是近几年的迅速发展,即时通讯的功能日益丰富,逐渐集成了电子邮件、博客、音乐、电视、游戏和搜索等多种功能.即时通讯不再是一个单纯的聊天工具,它已经发展成集交流、资讯、娱乐、搜索、电子商务、办公协作和企业客户服务等为一体的综合化信息平台.是一种终端连网即时通讯网络的服务。即时通讯不同于

4、email在于它的交谈是即时的。大部分的即时通讯服务提供了状态信息的特性显示联络人名单,联络人是否在在线与能否与联络人交谈。 即时通讯的最大特点是在网上进行信息的实时交流.它的产生有着深刻的社会和技术的原因。大凡人们都有渴望社交、获得社会尊重、实现自我的需求,这正是即时通讯软件风行的驱动力。而物质文明的日益发达所带来的副作用,又使得人们习惯地与周围的人保持距离,以致人们更愿意对陌生人敞开心扉.与传统通讯方式相比,即时通讯具备快捷、廉价、隐秘性高的特点,在网络中可以跨年龄、身份、行业、地域的限制,达到人与人、人与信息之间的零距离交流。从这点上讲,即时通讯的出现改变了人们的沟通方式和交友文化,大大

5、拓展了个人生活交流的空间。近年来,随着无线通信的快速发展,移动互联网为传统的Internet注入了新的活力,同时也为即时通讯带来了一场革命,交互双方已经不再局限于以网络终端设备为唯一的接入手段,PC机在传统的网络即时通讯中所起的作用正在被手机、平板电脑所取代。这使得即时通讯更加大众化和人性化,即使不会使用电脑的人现在也可以享受到即时通讯给人们带来的变化.另外,即时通讯软件被加入了越来越多的新功能,使它正从毫无商业价值的聊天、游戏转变出来,成为能为商业带来商机和实惠的领域,所有这一切都让人们对即时通讯赋予了越来越多的注意力。可以说,即时通讯的发展把后PC时代的特征体现的淋漓尽致,人们从来没有像今

6、天这样感受到天涯咫尺。纵观即时通讯软件业的迅速发展,设计并开发一个即时通讯平台,对于现阶段的学习和研究,都是极为有意义的,基于这个前提和起因,我选择了设计即时通讯系统作为我的毕业设计。1.2即时通讯的国内外发展状况即时通讯软件,几乎是每一个上网用户都必备的联络工具.即时通讯软件除了能够让您迅速地在网上找到自己的朋友和工作伙伴,还可以实时交谈和传递信息,而且,现在不少即时通讯软件还集成了文件共享、语音聊天、网络会议等功能。截止到目前,全球约有近3亿多人使用即时通讯软件进行交流,正因为即时通讯软件拥有数以亿计的用户和迅速增长的市场,所以各个公司都盯上了中国这个潜在的最大市场,一时间,即时通讯市场硝

7、烟四起。除了腾讯QQ和国外的几款著名即时通讯软件纷纷推出新版本,网易也推出了一种新的即时通讯软件-网易泡泡。朗玛公司也推出了名为UC的通讯工具。即时通讯软件最早发布于1996年11月15日,以色列特拉维文的Mirabilis Ltd.发表了一个题为E.T SURF HOME:MIRABILIS LTD。 PROVIDES NEW SOLUTIONS FOR PEERTOPEER INTERNET COMMUNICATIONS的新闻稿,同时发布了他们新产品ICQ(I Seek You)的Beta测试版。这天标志着Internet上的第一个成热的即时通讯系统(Instant Message Sys

8、tem)的诞生。即时通讯服务在诞生之后的几年时间得到了迅猛发展,成为新增Internet用户的3个主要应用之一(WEB,电子邮件和即时通讯)。在国内,1999年2月,深圳腾讯公司正式发布OICQ99 beta build 0210,开通腾讯即时通讯服务。2000年5月,腾讯QQ同时在线用户突破10万;2001年2月l0日,腾讯QQ同时在线用户突破100万。2004年4月份腾讯QQ同时在线人数最高记录已经突破了600万大关,现在腾讯公司正在把即时通讯系统往移动通讯方向扩展,如今已经将即时通讯与手机短信息(SMS)成功结合起来。即时通讯软件涉及和影响的领域已近越来越广,其竞争也越来越激烈.国内QQ

9、最大的敌手朗玛UC从2001年开始研发,2002年的12月份UC正式发布,并且首创了很多技术:UC是国内第一个做场景聊天的;UC是第一个把同学录和校友录结合的;第一个把即时通讯与休闲游戏相结合的;第一个把发送动画与即时通讯相结合的。在一年的发展里,UC一度达到峰值在线30万人,注册用户达到7000万.与此同时,信息化建设的加速将促进企业即时通讯市场发展 。中国政府积极推进企业信息化应用的发展。国家有关部门已经提出,要加快建立企业信息化应用的公共服务平台,对于中小企业由政府组织并给予一定的资金扶持。当前,政府的有关部门已经着手中小企业电子商务应用的经验交流、技术推广、人才培训等方面的工作。企业即

10、时通讯作为企业信息化建设的一部分,同样能从该政策中得到发展机会。服务商市场开拓中,也把为企业服务作为工作的重点之一,越来越多的软件开发商把企业即时通讯应用产品的开发作为软件开发的重点之一。政府积极促进企业提高认识,加深对信息化的重要性和必要性以及内涵的理解,间接提高了企业对即时通讯应用的自觉性和紧迫性,把即时通讯建设作为加速企业发展的助推器。统一通信成为发展趋势。与个人即时通讯需求相比,企业即时通讯要求融入更多的通信手段,单一的PC对PC消息传输必定无法满足企业的需求,由于企业对效益的追求,导致企业对效率的要求不断增高,而信息的有效传达是确保企业内部效率提升的必要条件,这就要求未来即时通讯服务

11、商能够提供短信、邮件、电话、传真等多渠道的解决方案,以及支持文字、音频、视频等多媒体的服务平台。代理渠道萎缩,合作伙伴加强。渠道中除总代理、行业代理和区域分销商外,增值代理商和解决方案业务伙伴将成为未来企业即时通讯产品渠道的重要发展环节,在渠道建设中地位也将逐步提高,他们将成为服务商收入的主要来源之一。原因有两方面:首先,代理商对于企业即时通讯软件服务商来说不够稳定。首先,代理商有自己选择代理产品的权利;其次,服务商无法满足企业客户对技术不断调整的需求;再次,代理商会削弱服务商对客户的掌控能力,一旦客户存在技术需求,服务商难以直接、高效的提供服务,将直接导致客户对服务商产品的满意度。 其次,合

12、作伙伴具有自己的核心技术,比如ERP、OA等产品,在集成企业即时通讯模块的过程中,对产品有一个很好的衡量和认识,一旦产品优秀,合作伙伴将会充分的向客户推荐该服务商提供的产品;此外,合作伙伴和服务商之间存在互利关系,合作伙伴可以从所集成的企业即时通讯服务中获利。而更为重要的是,服务商可以直接的接触到最终客户,为其提供完善的服务.1.3课题内容简介通过以上对即时通讯软件发展状况的分析,再加上国内3G时代的到来,互联网速度的飙升,开发一款简单实用大众化地即时通讯产品在后PC时代的信息产业领域具有旺盛的生命力.不仅为大众提供了通讯的方便,也是对自我四年大学学习的重大考验。产品定位: 大多数人能够使用,

13、操作者有无相关专业知识都可主要功能有: 用户注册 用户登陆 刷新好友列表 好友管理 即时通讯 用户查询实现技术: 基于HTTP协议的网络编程 Google App Engine开发技术 多线程编程 WEB开发技术 Android平台开发 使用软件: JDK MyEclipse 8.5 Google App Engine SDK For Java Eclipse 3.4第二章即时通讯系统设计与分析2.1 需求分析2。1.1 功能需求 2.1.1。1 用户注册用户第一次使用本系统时,可以点击手机界面上的注册按钮进行新用户注册。注册时用户需提供密码、用户名、头像、电话、性别、年龄、居住地、昵称信息,

14、但不是所有的都必须填。用户注册如图211:图211 用户注册用例图 2.1。1。2 用户登录系统启动默认进入登录界面,已经拥有账号的用户可以直接输入ID、密码进行登录。只有在ID、密码由服务器验证通过后才可正确登录.用户注册如图2-12:图2-12 用户登录用例图 2.1。1.3 刷新好友列表当用户通过ID、密码验证正确登录之后,就可以看到好友列表界面.用户可通过菜单选择刷新好友列表,这时需要更新用户的好友列表。刷新好友列表如图23:图2-13 刷新好友列表用例图 2。1.1。4 好友管理在好友管理中,用户可以选择添加其他用户为其好友,待对方接受之后就完成添加好友。用户也可以选择删除自己的好友

15、,此过程无需对方确认。好友管理如图214:图214 好友管理用例图 2.1。1。5 用户查询在用户登录成功之后可以查看其他用户,可以根据ID、用户名、是否在线这些条件来更加精确地进行用户查找。用户查找如图215:图21-5 用户查找用例图 2.1.1.6 聊天用户可以选择自己的一个好友,进入聊天界面进行聊天,关闭与一个好友的聊天界面之后回到主界面。即时通讯如图2-16:图21-6 即时通讯用例图2.2 概要设计 2.2.1 系统框架设计 本系统总体框架如图2-21:图22-1 系统总体框架图2.2。2 系统拓扑结构 系统拓扑结构如图2-22:图22-2 系统拓扑结构图本系统采用星型拓扑结构进行

16、构建,使用本系统的每一个实体都必须通过客户端进行注册,才可登录并使用本系统。在本系统的通信上采用Http协议来承载XML格式的私有协议,HTTP是为分布式超媒体信息系统设计的一个协议。它是无状态、面向对象的协议.HTTP一般用于名字服务器和分布式对象管理。由于HTTP 1.0能够满足WWW系统客户与服务器通信的需要,从而成为WWW发布信息的主要协议。 一、HTTP的主要特点: 1、客户/服务器模式 HTTP支持客户(浏览器)与服务器间的通信,相互传送数据.一个服务器可以为分布在世界各地的许多客户服务。HTTP定义的事务处理由以下四步组成: 客户与服务器建立连接; 客户向服务器提出请求; 如果请

17、求被接受,则服务器送回应答,在应答中包括状态码和所要的文件; 客户与服务器断开连接。 2、简单 HTTP本身既简单,又能有效地处理大量请求。在客户与服务器连接后,客户必须传送的信息只是请求方法和路径.HTTP规范说明了定义的几种请求方法,实际上常用的只是其中的三种GET、HEAD、POST。每种方法规定客户与服务器联系的类型不同。正是因为HTTP简单,使得HTTP服务器程序规模小,而且简单。这样做的直接效果是经由HTTP的通信速度很快。与其它协议相比,时间开销小得多。3、灵活 HTTP允许传输任意类型的数据对象。Content-Type标识正在传输的数据类型。如果把数据看成是装在”罐”里的东西

18、,那么Content-Type是贴在罐上的标签,它告诉人们里面装的是什么东西。4、无连接 HTTP是一个无连接协议。它的含义是限制每次连接只处理一个请求。客户与服务器连接后提交一个请求,在客户接到应答后马上断开连接。5、无状态 HTTP是无状态的协议。它既是优点也是缺点.一方面,由于没有状态,协议对事务处理没有记忆能力.如果后续事务处理需要前面处理的有关信息,那么这些信息必须在协议外面保存。缺少状态意味着所需要的前面信息必须重现,势必导致每次连接要传送较多的信息。另一方面,也正是由于缺少状态使得HTTP累赘少,运行速度高,服务器应答较快。2。3 功能设计 系统功能设计如图231:图2-31 系

19、统功能设计图2.3.1 用户注册模块用户需要正确填写自己的提供密码、用户名、头像、电话、性别、年龄、居住地、昵称信息,注册成功后,系统会返回给用户一个由6位数字组成的ID,用户必须记住此ID,以便登录时使用。用户注册流程如图23-2:图2-3-2 用户注册流程图2。3。2 用户登录模块用户需要正确填写自己成功注册时获取的ID、密码,如果验证通过,则可以进入到本系统主界面,给自己好友留言或与在线好友进行即时通讯。用户登录如图23-3:图233 用户登录流程图2。3。3 好友管理模块 好友管理模块包括对好友的添加与删除。添加好友过程中,好友不能为空,不能加自己为好友,要添加的好友必须存在并且不能有

20、重复的好友。删除好友过程中,只要选定好友列表中的一个,选择Menu中的删除好友即可删除成功。好友管理如图2-34:图2-3-4 好友管理流程图2.3。4 查找用户模块在用户登录成功之后可以查看其他用户,可以根据ID、用户名、是否在线这些条件来更加精确地找到其他用户,查找好友如图2-3-5:图2-3-5 查找好友流程图2。3。5 即时通讯模块当用成功登录之后,可以选择自己的一个好友,进入聊天界面进行聊天,关闭与一个好友的聊天界面之后回到主界面。聊天流程如图2-36:图2-36 即时通讯流程图2.3。6 刷新好友列表模块用户通过菜单选择刷新好友列表,这时需要更新用户的好友列表,其流程如图23-7:

21、图23-7 刷新列表流程图2.4 数据库设计在本系统中数据的存储采用Google App Engine提供的数据存储区来进行存储。App Engine 数据存储区存储数据对象(称为“实体)并对其执行查询。一个实体具有一个或多个属性(若干受支持数据类型中某一类型的命名值)。属性可以是对另一实体的引用。数据存储区可以在一个事务中执行多个操作,如果任一操作失败则回滚整个事务。这对于分布式网络应用程序尤其有用,在这种分布式网络应用中,多个用户可以同时访问或处理同一数据对象。与传统数据库不同,该数据存储区使用分布式体系结构管理向超大型数据集的扩展.App Engine 应用程序可以通过描述数据对象之间的

22、关系,以及定义查询的索引,来优化数据的分布方式。App Engine 数据存储区具有高度的一致性,但不是关系数据库.虽然该数据存储区接口有许多与传统数据库相同的功能,但也具有独特的特征,它采用了不同的数据设计和管理方式,可以充分利用自动扩展功能。即时通讯系统中需要对用户信息、好友关系、留言等各方面信息进行管理。这些信息都保存在数据存储区中,因此需要建立相应的表结构来存储这些相应的数据。所有表结构设计如下:表汇总:表名功能说明t_user存放用户个人信息t_buddylist存放好友关系t_message存放离线用户收到的留言信息表t_user:表名t_user列名数据类型是否为空字段说明u_i

23、dVarchar(20)否用户登录IDpasswordVarchar(20)否密码u_nicknameVarchar(20)是昵称u_sexVarchar(4)是性别u_ageInt(4)是年龄u_phoneVarchar(20)是电话u_signatureVarchar(20)是签名iconVarchar(20)是头像cityVarchar(20)是所在地表t_buddylist:表名t_buddylist列名数据类型是否为空字段说明u_id_aVarchar(20)否用户a 的IDu_id_bVarchar(20)否用户b 的ID表t_message:表名t_message列名数据类型是否

24、为空字段说明from_u_idVarchar(20)否信息来源to_u_idVarchar(20)否信息去向packageVarchar(300)是信息包第三章 系统客户端、服务器开发平台搭建3.1 系统客户端开发平台搭建 3。1。1 开发Android程序软件需求JDK(建议安装JDK1.6及其以上版本,可以在官方网站上下载)Android SDKEclipse3.4(Ganymede)ADT(Android Development Tools,开发Android程序的Eclipse插件)3。1.2 开发Android程序硬件最低需求 CPU PII以上,64M内存,100M硬盘空间3。1.

25、3 JDK的安装 运行jdk1。6.0.exe,安装过程中可以设置安装路径、选择组件,系统默认安装路径C:Program FilesJavajdk1.6.0,默认组件选择是全部安装.安装成功后,JDK的目录结构如图31-1:图31-1 JDK的目录结构 由于Java是平台无关的,安装JDK是Java不会自动设置路径,也不会修改注册表,需要用户自己设置环境变量,但不需要修改注册表。Windows中需要设置两个环境变量path和classpath。path变量指出Java提供的可执行文件的路径,classpath变量指出Java包的路径。下面开始设置环境变量:右键单击“我的电脑,在弹出的快捷菜单中

26、选择“属性”,在弹出的“系统属性对话框中选择“高级”选项卡,单击【环境变量】按钮,系统弹出“环境变量”对话框,如图3-1-2:图3-1-2 “环境变量”对话框path是Windows已定义的变量,找到“Path”,单击【编辑】按钮,将“;C:Program FilesJavajdk1.6.0_02bin”加到“变量值”文本框后边,然后单击【确定】按钮。通常Windows中没有classpath环境变量,需要新建。单击【新建】按钮,变量名为“classpath”,变量值为“。;C:Program FilesJavajdk1.6。0_02lib”,这是JDK包的路径.至此,JDK安装完成。3.1。

27、4 Android开发环境的安装首先下载最新版本的Android SDK,下载地址:http:/androiddocs。appspot。com/sdk/index。html注意,Android SDK是在线安装,在安装Android SDK之前要保证有稳定而快速的Internet连接。如果完全安装Android SDK,安装时间会比较长,请耐心等待.如果安装Android SDK时下载文件失败,可以将如图3-1-3所示的安装界面右下角的第1个复选框选中,然后重新安装。如果安装顺利,将出现如图3-1-4所示的安装界面。图313 使用http下载文件图3-1-4 安装过程的下载界面Android

28、SDK安装成功后,会看到如图3-1-5所示的Android SDK根目录结构。Platforms目录包含了当前SDK支持的所有版本,如图3-1-6所示。图3-15 Android SDK根目录图3-16 所有Android SDK版本3.1。5 安装Eclipse插件ADTEclipse的安装直接解压即可使用,在此不再细说。安装ADT插件:打开已经安装好的Eclipse,单击【help】【Software Updates】菜单项。在显示的对话框中单击【Available Software】标签页,然后单击【Add site.。.】按钮.在显示的对话框的文本框中输入如下地址:http:/dl-s

29、sl。单击【OK】按钮关闭对话框。回到【Available Software】标签页,选中刚才增加的地址,然后单击右侧的【Install】按钮开始安装ADT插件。在弹出的安装对话框中选中Android DDMS和Android Development Tools两项,单击【Next】按钮进入下一个安装界面,选中接受协议复选框,最后单击【Finish】按钮开始安装。当成功安装ADT后,重启Eclipse,这时需要设置一下Android SDK的安装目录。单击【Windows】【Install New Software.。】菜单项.在弹出的对话框中选中左侧的【Android】节点.在右侧的【SDK

30、 Location】文本框中输入Android SDK的安装目录,如图317所示:图317 设置Android SDK安装目录至此,客户端开发环境正式安装完成,可以进行客户端的开发。3。2 系统服务器开发平台搭建首先依然是需要下载各种需要的软件如JDK、Eclipse 3.4(Ganymede)、Eclipse Google插件。JDK和Eclipse的安装在上面已经完成,不在重复.因此,直接进行Eclipse Google插件的安装,此插件的安装方式有两种。其一:下载插件包到自己的电脑上进行本地安装;其二:通过Eclipse进行在线安装,所以需要有稳定的Internet连接。在这里介绍第二种安装方法:打开已经安装好的Eclipse,单击【help】【Software Updates】菜单项。在显示的对话框中单击【Available Software】标签页,然后单击【Add site.。】按钮.在显示的对话框的文本框中输入如下地址:单击【OK】按钮关闭对话框。回到【Available Software】标签页,选中刚才增加的地址,然后单击右侧的【In

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

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