基于BS方式的即时通讯软件的设计与实现.doc
《基于BS方式的即时通讯软件的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于BS方式的即时通讯软件的设计与实现.doc(25页珍藏版)》请在沃文网上搜索。
1、 摘 要即时通讯(Instant Messaging)是目前Internet上最为流行的通讯方式,而各种各样的即时通讯软件也层出不穷;服务提供商也提供了越来越丰富的通讯服务功能。随着互联网的发展,即时通讯的运用将日益广泛,即时通讯软件业方兴未艾。本文首先描述了即时通讯业的发展和现状,然后初步探讨了即时通讯所涉及到的一些技术,最后对现有的技术进行了对比和分析,提出了一些可能的改进方案,并且设计了一个名为web-msn的即时通讯系统。 web-msn是基于B/S的模式的即时通讯系统,通过IE等浏览器直接完成客户端的登录、数据传输,更加便捷了用户之间的通讯和交友;使用最新的Ajax技术,使其非常快,
2、无需等待页面的刷新,实现了即时通讯的功能。 在系统设计与建模过程中,使用了UML和面向对象的分析、设计方法,本系统基于.NET Framework 1.1,使用Visual Studio .NET 2003作为开发工具,将.NET中的一些新技术运用到了系统中;在开发过程中用到了时下流行的重构开发方法,优化了系统的设计。 关键词:Web-msn;即时通讯;B/S; AjaxThe Design and Implementation of Instant Message Based on B/SAbstractInstant message is currently the most popula
3、r way to communicate on the Internet,by the way various instant message software have been continuously appearing; service provider offers more and more communication services nowadays. As the development of the Internet, instant message will be more widely used than before. This article first descr
4、ibes the development and the current status of the instant message. Then it discusses the technologies of the instant message such as communication protocol, service mode and friend-making mode. It makes a comparison and analysis with respect to the current technology and also provides some possible
5、 solutions for improvement. At last it designs and develops an instant message system named web-msn.The web-msn system is an instant message system which bases on b/s mode. You can login and interact with it through IE. It makes communication and finding friends more conveniently. It is designed usi
6、ng Ajax, which doesnt need to wait for refreshing page, so carry out communication instantly.This system is based on .NET Framework 1.1 and uses Visual Studio .NET 2003 as the development tool. It accumulated some new technology in .NET into our system. During the process of development, it used the
7、 popular reconstruction development method, which optimizes the system design.Key words: Web-msn; Instant Message; B/S; Ajax目 录 论文总页数:24页1 引言12 系统分析22.1 课题目的22.2 课题意义22.3 应解决的问题22.4 需要实现的功能22.5 开发环境22.5.1 vs2003开发环境介绍22.5.2 Sql Server 2000介绍32.5.3 C#语言介绍32.6 关键技术-Ajax简介33 需求分析33.1 即时消息的一般需求33.2 即时通讯
8、系统需求44 系统设计54.1 方案论证54.1.1 “即时”技术的选择54.1.2 web-msn的模型选择64.2 数据库设计84.2.1 数据表设计84.2.2 存储过程设计84.3 系统功能分析与设计94.4 系统模块设计114.4.1 注册模块114.4.2 登录模块114.4.3 传输信息模块124.4.4 退出系统模块135 系统实现145.1 发送消息功能实现145.2 接收消息功能实现156 测试176.1 测试内容176.2 测试结果17结 论18参考文献19附 录20致 谢23声 明24 1 引言即时通讯软件,几乎是每一个上网用户都必备的联络工具。即时通讯软件除了能够让您
9、迅速地在网上找到自己的朋友和工作伙伴,还可以实时交谈和传递信息,而且,现在不少即时通讯软件还集成了文件共享、语音聊天、网络会议等功能。截止到目前,全球约有近3亿多人使用即时通讯软件进行交流,正因为即时通讯软件拥有数以亿计的用户和迅速增长的市场,所以各个公司都盯上了中国这个潜在的最大市场,一时间,即时通讯市场硝烟四起。除了腾讯QQ和国外的几款著名即时通讯软件纷纷推出新版本,网易也推出了一种新的即时通讯软件网易泡泡。朗玛公司也推出了名为UC的通讯工具。即时通讯软件最早发布于1996年11月15日,以色列特拉维文的Mirabilis Ltd.发表了一个题为E.T SURF HOME:MIRABILI
10、S LTD. PROVIDES NEW SOLUTIONS FOR PEER-TO-PEER INTERNET COMMUNICATIONS的新闻稿,同时发布了他们新产品ICQ(I Seek You)的Beta测试版。这天标志着Internet上的第一个成热的即时通讯系统(Instant Message System)的诞生。即时通讯服务在诞生之后的几年时间得到了迅猛发展,成为新增Internet用户的3个主要应用之一(WEB,电子邮件和即时通讯)。在国内,1999年2月,深圳腾讯公司正式发布OICQ99 beta build 0210,开通腾讯即时通讯服务。2000年5月,腾讯QQ同时在线用
11、户突破10万;2001年2月l0日,腾讯QQ同时在线用户突破100万。2004年4月份腾讯QQ同时在线人数最高记录已经突破了600万大关,现在腾讯公司正在把即时通讯系统往移动通讯方向扩展,如今已经将即时通讯与手机短信息(SMS)成功结合起来。即时通讯软件涉及和影响的领域已近越来越广,其竞争也越来越激烈。国内QQ最大的敌手朗玛UC从2001年开始研发,2002年的12月份UC正式发布,并且首创了很多技术:UC是国内第一个做场景聊天的;UC是第一个把同学录和校友录结合的;第一个把即时通讯与休闲游戏相结合的;第一个把发送动画与即时通讯相结合的。在一年的发展里,UC一度达到峰值在线30万人,注册用户达
12、到7000万。但是纵观这些即时通讯软件业,都是基于C/S模式的,需要下载客户端进行安装,用户名、密码、聊天记录等也是存放在本地机器上,在安全性和方便性上都有所欠缺。设计并开发一个基于WEB的即时通讯平台,对于现阶段的学习和研究,都是极为有意义的,基于这个前提和起因,我选择了基于B/S方式的即时通讯软件的设计与实现作为我的毕业设计。2 系统分析2.1 课题目的设计一个基于B/S模式的IM软件,可以通过IE等浏览器直接完成客户端的登录、数据传输、好友信息分组管理、状态更新、两人以及多人的文字聊天等功能。2.2 课题意义作为计算机专业的学生,即时了解和掌握流行的即时通讯机制并且应用到实践过程中,将极
13、大的提高自己的设计和开发软件的积极性;提升自己的理论和技术水平,跟踪国内外最新的技术和开发模式,为以后类似的开发积累经验;同时,开发出来的作品也可以真正运用到实际当中,方便大家的沟通和交流。2.3 应解决的问题1) 服务系统模型的选择;2) 实时查看在线好友列表;3) 向在线好友发送即时消息;4) 实时接收在线消息并且弹出提示;5) 状态的即使切换(在线,隐身等)。2.4 需要实现的功能1) 实现用户注册、登录、退出、更改状态等功能;2) 实现文本信息发送;3) 实现搜索好友,添加好友,删除好友技术;4) 实现消息的提示功能;5) 实现设置好友权限功能。2.5 开发环境2.5.1 vs2003
14、开发环境介绍 Visual Studio是微软公司出品的一款大型应用软件,是一套完整的开发工具集,它主要用于生成ASP.NET Web应用程序、XML Web Services、桌面应用程序和移动应用程序。Visual Basic、Visual C+、Visual C# 和Visual J# 全都使用相同的集成开发环境(IDE)。利用此IDE可以共享工具且有助于创建混合语言解决方案,使程序可以使用不同的语言共同开发。NET开发平台由一组用于建立Web服务应用程序和Windows桌面应用程序的软件组件构成,包括.NET框架(Framework)、.NET开发工具和ASP.NET。Visual S
15、tudio 2003的集成开发环境中为开发人员提供了大量的实用工具以提高工作效率。这些工具包括了自动编译、项目创建向导、创建部署工程等。2.5.2 Sql Server 2000介绍SQL Server2000由一系列相互协作的组件构成,能满足最大的Web站点和企业数据处理系统存储和分析数据的需要。SQLServer构架各种组件通过何种方式发挥合力,更富成效地管理数据。 SQL Server2000数据库引擎提供完整的XML支持。它还具有构成最大的Web站点的数据存储组件所需的可伸缩性、可用性和安全功能。SQL Server2000程序设计模型与WindowsDNA构架集成,用以开发Web应用
16、程序,并且SQL Server2000支持EnglishQuery和 Microsoft搜索服务等功能,在Web应用程序中包含了用户友好的查询和强大的搜索功能。2.5.3 C#语言介绍C#是一种语言,它是专门为了微软的.NET战略而设计的一种语言. C#也叫C#.Net。2.6 关键技术-Ajax简介Ajax 是异步JavaScript和XML(Asynchronous JavaScript and XML)的英文缩写。“Ajax”这个名词的发明人是Jesse James Garrett,而大力推广并且使Ajax技术炙手可热的是Google。Google发布的Gmail,Google Sugg
17、est等应用最终让人们了解了什么是Ajax。Ajax的核心理念在于使用XMLHttpRequest对象发送异步请求,最初为XMLHttpRequest对象提供浏览器支持的微软公司。早在1998年,微软公司开发Web版Outlook时,就已经以ActiveX控件的方式为XMLHttpRequest提供了支持。Ajax是使用客户端脚本与Web服务器交换数据的Web应用开发方法。这样,Web页面不用打断交互流程进行重新加裁,就可以动态地更新。使用Ajax,用户可以创建接近本地桌面应用的直接、高可用、更丰富、更动态的Web用户界面。实际上,Ajax不是一种技术,而是几种技术。每种技术都具有独特之处,合
18、在一起就形成了一个功能强大的新技术。Ajax包括:1) XHTML和CSS;2) 使用文档对象模型进行动态显示和交互;3) 使用XML和XSLT进行数据交互和操作;4) 使用XMLHttpRequest进行异步数据接收;5) 使用JavaScript将它们绑定在一起。 3 需求分析3.1 即时消息的一般需求1) 一般即时消息格式需求:所有实体必须至少使用一种消息格式;一般即时消息格式必须定义发信者和即时收件箱的标识;一般即时消息格式必须包含一个让接收者可以回消息的地址;一般即时消息格式应该包含其他通讯方法和联系地址,例如电话号码,邮件地;一般即时信息格式必须允许对信息有效负载的编码和鉴别(非A
19、SCII内容);一般即时信息格式必须反映当前最好的国际化实践;一般即时信息格式必须反映当前最好的可用性实践;必须存在方法,在扩展一般即时消息格式的时候,不影响原有的域;必须提供扩展和注册即时消息格式的模式的机制。2) 可靠性需求 协议必须存在机制,保证即时消息成功投递或者投递失败的时候,发信者获得足够的信息。3) 性能需求即时消息的传输必须足够的迅速;即时消息的内容必须足够丰富;即时消息的长度尽量足够的长。3.2 即时通讯系统需求1) 注册需求即时通讯系统允许多个用户注册;一个用户可以注册多个ID;注册所使用的帐号类型为数字或者字母;注册新用户时必须填写符合要求的信息。2) 通讯需求 用户可以
20、传输文本消息;用户的消息可以中转至服务器;用户可以从服务器获取中转的好友消息;3) 好友管理需求用户可以查询好友;用户可以添加好友;用户可以添加多个人为好友,一个用户可以被多个人添加为好友用户可以删除好友;用户可以将好友放在多个组中;用户的好友一次只能属于一个组。4) 状态切换需求用户可以选择登录状态;登录完成后用户可以切换状态(在线,隐身);用户可以注销登录。5) 查看在线好友需求用户登录时列出所有在线好友;用户可以看到新近登录的好友;用户将不在看到临时登出的好友。4 系统设计4.1 方案论证4.1.1 “即时”技术的选择聊天系统实现的关键在于其实时的特性,包括状态的实时改变,消息的实时收发
21、,状态的实时切换等,而传统的Web应用采用同步交互过程,这种情况下,用户首先向Web服务器发送一个请求,然后Web服务器根据用户请求的内容,执行相应的任务,并向用户返回结果。这是一种不连贯的用户体验,在服务器处理请求时,用户只能等待,此时浏览器显示的页面是空白的,这也就是通常所说的“白屏”现象,应用此种技术肯定实现不了即时通讯所要求的效果。所以就需要寻求一种新的技术来实现本系统所要求的即时的效果,而Ajax恰好弥补了Web应用的这一缺点。与传统的Web应用不同,Ajax采用了异步交互的方式。它在用户和服务器之间引入了一个中间媒介,从而改变了同步交互过程中的“处理-等待-处理-等待”模式。用户的
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
15 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 BS 方式 即时通讯 软件 设计 实现