收藏 分享(赏)

基于BS方式的即时通讯软件的设计与实现.doc

上传人:wo7103235 文档编号:4927476 上传时间:2019-01-23 格式:DOC 页数:26 大小:485.50KB
下载 相关 举报
基于BS方式的即时通讯软件的设计与实现.doc_第1页
第1页 / 共26页
基于BS方式的即时通讯软件的设计与实现.doc_第2页
第2页 / 共26页
基于BS方式的即时通讯软件的设计与实现.doc_第3页
第3页 / 共26页
基于BS方式的即时通讯软件的设计与实现.doc_第4页
第4页 / 共26页
基于BS方式的即时通讯软件的设计与实现.doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

1、第 1 页 基于 B/S 方式的即时通讯软件的设计与实现摘 要即时通讯(Instant Messaging)是目前 Internet 上最为流行的通讯方式,而各种各样的即时通讯软件也层出不穷;服务提供商也提供了越来越丰富的通讯服务功能。随着互联网的发展,即时通讯的运用将日益广泛,即时通讯软件业方兴未艾。本文首先描述了即时通讯业的发展和现状,然后初步探讨了即时通讯所涉及到的一些技术,最后对现有的技术进行了对比和分析,提出了一些可能的改进方案,并且设计了一个名为 web-msn 的即时通讯系统。 web-msn 是基于 B/S 的模式的即时通讯系统,通过 IE 等浏览器直接完成客户端的登录、数据传

2、输,更加便捷了用户之间的通讯和交友;使用最新的 Ajax技术,使其非常快,无需等待页面的刷新,实现了即时通讯的功能。 在系统设计与建模过程中,使用了 UML 和面向对象的分析、设计方法,本系统基于.NET Framework 1.1,使用 Visual Studio .NET 2003 作为开发工具,将.NET 中的一些新技术运用到了系统中;在开发过程中用到了时下流行的重构开发方法,优化了系统的设计。 关键词:Web-msn;即时通讯; B/S; Ajax第 2 页 The Design and Implementation of Instant Message Based on B/SAbs

3、tractInstant message is currently the most popular 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

4、widely used than before. This article first describes 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 c

5、urrent technology and also provides some possible 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 find

6、ing friends more conveniently. It is designed using 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 syste

7、m. During the process of development, it used the popular reconstruction development method, which optimizes the system design.Key words: Web-msn; Instant Message; B/S; Ajax第 3 页 1引言即时通讯软件,几乎是每一个上网用户都必备的联络工具。即时通讯软件除了能够让您迅速地在网上找到自己的朋友和工作伙伴,还可以实时交谈和传递信息,而且,现在不少即时通讯软件还集成了文件共享、语音聊天、网络会议等功能。截止到目前,全球约有近 3

8、 亿多人使用即时通讯软件进行交流,正因为即时通讯软件拥有数以亿计的用户和迅速增长的市场,所以各个公司都盯上了中国这个潜在的最大市场,一时间,即时通讯市场硝烟四起。除了腾讯 QQ和国外的几款著名即时通讯软件纷纷推出新版本,网易也推出了一种新的即时通讯软件网易泡泡。朗玛公司也推出了名为 UC 的通讯工具。即时通讯软件最早发布于 1996 年 11 月 15 日,以色列特拉维文的Mirabilis Ltd.发表了一个题为 E.T SURF HOME:MIRABILIS LTD. PROVIDES NEW SOLUTIONS FOR PEER-TO-PEER INTERNET COMMUNICATIO

9、NS 的新闻稿,同时发布了他们新产品 ICQ(I Seek You)的 Beta 测试版。这天标志着 Internet 上的第一个成热的即时通讯系统(Instant Message System)的诞生。即时通讯服务在诞生之后的几年时间得到了迅猛发展,成为新增 Internet 用户的 3 个主要应用之一(WEB,电子邮件和即时通讯)。在国内,1999 年 2 月,深圳腾讯公司正式发布 OICQ99 beta build 0210,开通腾讯即时通讯服务。2000 年 5 月,腾讯 QQ 同时在线用户突破 10 万;2001年 2 月 l0 日,腾讯 QQ 同时在线用户突破 100 万。2004

10、 年 4 月份腾讯 QQ 同时在线人数最高记录已经突破了 600 万大关,现在腾讯公司正在把即时通讯系统往移动通讯方向扩展,如今已经将即时通讯与手机短信息(SMS)成功结合起来。即时通讯软件涉及和影响的领域已近越来越广,其竞争也越来越激烈。国内 QQ最大的敌手朗玛 UC 从 2001 年开始研发,2002 年的 12 月份 UC 正式发布,并且首创了很多技术:UC 是国内第一个做场景聊天的;UC 是第一个把同学录和校友录结合的;第一个把即时通讯与休闲游戏相结合的;第一个把发送动画与即时通讯相结合的。在一年的发展里,UC 一度达到峰值在线 30 万人,注册用户达到 7000 万。但是纵观这些即时

11、通讯软件业,都是基于 C/S 模式的,需要下载客户端进行安装,用户名、密码、聊天记录等也是存放在本地机器上,在安全性和方便性上都有所欠缺。设计并开发一个基于 WEB 的即时通讯平台,对于现阶段的学习和研究,都是极为有意义的,基于这个前提和起因,我选择了基于 B/S 方式的即时通讯软件的设计与实现作为我的毕业设计。第 4 页 2 系统分析2.1 课题目的设计一个基于 B/S 模式的 IM 软件,可以通过 IE 等浏览器直接完成客户端的登录、数据传输、好友信息分组管理、状态更新、两人以及多人的文字聊天等功能。2.2 课题意义作为计算机专业的学生,即时了解和掌握流行的即时通讯机制并且应用到实践过程中

12、,将极大的提高自己的设计和开发软件的积极性;提升自己的理论和技术水平,跟踪国内外最新的技术和开发模式,为以后类似的开发积累经验;同时,开发出来的作品也可以真正运用到实际当中,方便大家的沟通和交流。2.3 应解决的问题1) 服务系统模型的选择;2) 实时查看在线好友列表;3) 向在线好友发送即时消息;4) 实时接收在线消息并且弹出提示;5) 状态的即使切换(在线,隐身等) 。2.4 需要实现的功能1) 实现用户注册、登录、退出、更改状态等功能;2) 实现文本信息发送;3) 实现搜索好友,添加好友,删除好友技术;4) 实现消息的提示功能;5) 实现设置好友权限功能。2.5 开发环境2.5.1 vs

13、2003 开发环境介绍Visual Studio 是微软公司出品的一款大型应用软件,是一套完整的开发工具集,它主要用于生成 ASP.NET Web 应用程序、 XML Web Services、桌面应用程序和移动应用程序。Visual Basic、Visual C+、Visual C# 和 Visual J# 全都使用相同的集成开发环境(IDE) 。利用此 IDE 可以共享工具且有助于创建混合语言解决方案,使程序可以使用不同的语言共同开发。NET 开发平台由一组用于建立 Web 服务应用程序和 Windows 桌面应用程序的软件组件构成,包括.NET 框架(Framework)、.NET 开发

14、工具和 ASP.NET。Visual Studio 2003 的集成开发环境中为开发人员提供了大量的实用工具以提高工作效率。这些工具包括了自动编译、项目创建向导、创建部署工程等。第 5 页 2.5.2 Sql Server 2000 介绍SQL Server2000 由一系列相互协作的组件构成,能满足最大的 Web 站点和企业数据处理系统存储和分析数据的需要。SQLServer 构架各种组件通过何种方式发挥合力,更富成效地管理数据。  SQL Server2000 数据库引擎提供完整的 XML 支持。它还具有构成最大的Web 站点的数据存储组件所需的可伸缩性、可用性和安全功能。SQL

15、 Server2000 程序设计模型与 WindowsDNA 构架集成,用以开发 Web 应用程序,并且 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 G

16、arrett,而大力推广并且使 Ajax 技术炙手可热的是 Google。Google 发布的 Gmail,Google Suggest等应用最终让人们了解了什么是 Ajax。Ajax 的核心理念在于使用 XMLHttpRequest 对象发送异步请求,最初为XMLHttpRequest 对象提供浏览器支持的微软公司。早在 1998 年,微软公司开发 Web 版 Outlook 时,就已经以 ActiveX 控件的方式为 XMLHttpRequest 提供了支持。Ajax 是使用客户端脚本与 Web 服务器交换数据的 Web 应用开发方法。这样,Web 页面不用打断交互流程进行重新加裁,就可以

17、动态地更新。使用Ajax,用户可以创建接近本地桌面应用的直接、高可用、更丰富、更动态的Web 用户界面。实际上,Ajax 不是一种技术,而是几种技术。每种技术都具有独特之处,合在一起就形成了一个功能强大的新技术。Ajax 包括:1) XHTML 和 CSS;2) 使用文档对象模型进行动态显示和交互;3) 使用 XML 和 XSLT 进行数据交互和操作;4) 使用 XMLHttpRequest 进行异步数据接收;5) 使用 JavaScript 将它们绑定在一起。 第 6 页 3 需求分析3.1 即时消息的一般需求1) 一般即时消息格式需求:所有实体必须至少使用一种消息格式;一般即时消息格式必须

18、定义发信者和即时收件箱的标识;一般即时消息格式必须包含一个让接收者可以回消息的地址;一般即时消息格式应该包含其他通讯方法和联系地址,例如电话号码,邮件地;一般即时信息格式必须允许对信息有效负载的编码和鉴别(非 ASCII 内容);一般即时信息格式必须反映当前最好的国际化实践;一般即时信息格式必须反映当前最好的可用性实践;必须存在方法,在扩展一般即时消息格式的时候,不影响原有的域;必须提供扩展和注册即时消息格式的模式的机制。2) 可靠性需求 协议必须存在机制,保证即时消息成功投递或者投递失败的时候,发信者获得足够的信息。3) 性能需求即时消息的传输必须足够的迅速;即时消息的内容必须足够丰富;即时

19、消息的长度尽量足够的长。3.2 即时通讯系统需求1) 注册需求即时通讯系统允许多个用户注册;一个用户可以注册多个 ID;注册所使用的帐号类型为数字或者字母;注册新用户时必须填写符合要求的信息。2) 通讯需求用户可以传输文本消息;用户的消息可以中转至服务器;用户可以从服务器获取中转的好友消息;3) 好友管理需求用户可以查询好友;用户可以添加好友;第 7 页 用户可以添加多个人为好友,一个用户可以被多个人添加为好友用户可以删除好友;用户可以将好友放在多个组中;用户的好友一次只能属于一个组。4) 状态切换需求用户可以选择登录状态;登录完成后用户可以切换状态(在线,隐身) ;用户可以注销登录。5) 查

20、看在线好友需求用户登录时列出所有在线好友;用户可以看到新近登录的好友;用户将不在看到临时登出的好友。4 系统设计4.1 方案论证4.1.1 “即时”技术的选择聊天系统实现的关键在于其实时的特性,包括状态的实时改变,消息的实时收发,状态的实时切换等,而传统的 Web 应用采用同步交互过程,这种情况下,用户首先向 Web 服务器发送一个请求,然后 Web 服务器根据用户请求的内容,执行相应的任务,并向用户返回结果。这是一种不连贯的用户体验,在服务器处理请求时,用户只能等待,此时浏览器显示的页面是空白的,这也就是通常所说的“白屏”现象,应用此种技术肯定实现不了即时通讯所要求的效果。所以就需要寻求一种

21、新的技术来实现本系统所要求的即时的效果,而 Ajax 恰好弥补了 Web 应用的这一缺点。与传统的 Web 应用不同,Ajax 采用了异步交互的方式。它在用户和服务器之间引入了一个中间媒介,从而改变了同步交互过程中的“处理-等待-处理-等待”模式。用户的浏览器在执行任务时即装载了 Ajax 引擎。该引擎是用JavaScript 语言编写的,通常位于一个隐藏的框架中,负责转发用户界面和服务器之间的交互。Ajax 引擎允许用户和应用系统之间的交互以异步的方式进行,独立于用户与 Web 服务器之间的交互。现在,可以通过 Ajax 引擎向 Web 服务器发送请求。所以本系统决定采用 Ajax 来实现即

22、时通讯各个部分“即时”效果的实现。使用 Ajax 可以带来的好处有以下几个方面:1减轻服务器的负担。Ajax 的原则是“按需取数据” ,可以最大程度地减少冗余请求,减轻服务器的负担。第 8 页 2无需刷新页面,减少用户心理和实际的等待时间。特别是在读取大量数据时,不会像刷新页面那样出现白屏的情况,Ajax 使用 XMLHttpRequest 对象发送请求并且得到服务器响应,在不重新载入整个页面的情况下,用JavaScript 操作 DOM 更新页面。因此在读取数据的过程中,用户所面对的不是白屏,是原来的页面内容,只有在数据接收完毕后才更新相应部分的内容。这种更新是瞬间的,用户几乎感觉不到。3带

23、来更好的用户体验。4可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器负担,充分利用宽带资源,节约空间和宽带租用成本。5可以调用外部数据。6基于标准化的并广泛支持的技术,不需要下载插件或者小程序。7进一步促进页面呈现与数据的分离。4.1.2 web-msn 的模型选择1) 即时通讯系统的一般模型即时通讯服务有两个实体:发送者和即时收信箱。即时通讯协议定义了即时通讯服务、发信者和即时收信箱之间的交互作用。即时通讯服务与其他邮件服务不同之处在于,即时消息本身足够的小,便于快速交付到即时收件箱。个体,用户代理,即时通讯系统的模型如图 4-1 表示:图 4-1 即时通讯

24、系统的一般模型即时通讯系统模型发信者或者即时收信箱的身份鉴别。不同的收信箱有不同的身份鉴别需求。不同的旁观者有不同的身份鉴别的需求。服务内部可能存在多服务器或者多代理服务器。也就是说一个即时通讯服务的逻辑的连接,内部可能有复杂的重定向和代理结构。代理服务器即时收信箱的身份与其他服务器交换即时消息。第 9 页 服务并不需要一个服务器,可以通过发信者和即时收信箱之间的直接通讯实现。涉及与其他即时通讯服务的情况,可能会有定的内部机制。个体还可以通过收件箱用户代理设置交付规则(Delivery Rules)限制即时通讯服务把即时信息交付到即时收信箱。2) 即时通讯系统服务拓扑模型现在不少即时通讯系统服

25、务的内部拓扑中采用模式一;也有极其个别系统在即时通讯服务上面采用模式二。模式一是一种非常成熟的模式,大多数 TCP/IP 应用系统,例如 SMTP 服务、DNS 服务、WWW 服务等都是使用这种模式。模式二,对于模式一是一个技术上的修正,虽然这个修正带来了新的问题,但是其实用性是不可质疑的;WEB-MSN正是实用模式二作为服务模式;web-msn 的服务是由服务器构成的;web-msn 中每个实体都由一个寄主服务器管理。个体必须向服务器注册,注册后就有可以控制的发信者和即时收件箱。发信者是独立于即时通讯服务外的实体,而即时收信箱则存在于寄主服务器中。WEB-MSN 的通讯系统中只有存在发送者和

26、接收者两类实体。注册后的用户必须在服务器上建立登记表,才能知道其他用户的存在,与其他用户进行交流。图 4-2 即时通讯系统服务模型S1S3S2C1C2C3客户端服务器星型结构服务器服务器对等结构模式一S1S3S2C1C2C3客户端服务器星型结构服务器服务器对等结构客户端客户机对等结构模式二C S 服务器客户端客户端客户端连接客户端服务器连接服务器服务器连接第 10 页 4.2 数据库设计4.2.1 数据表设计设计数据库应该具备数据库的基本知识和数据库设计技术,计算机科学的基础知识和程序设计的方法和技巧及软件工程的原理和方法应用领域的知识。根据本系统的特点和要求,通过对整个系统运行过程和数据流程

27、分析,得出本系统的实体表:用户信息表:users ;聊天信息数据表:message ;users变化监控表:global_info 。经过数据库分析与设计得到数据库的逻辑结构。本系统使用 Microsoft SQL Server 2000 为数据库开发工具;创建名为 msn 数据库根据各种功能的实现以及考虑到将来系统功能上的扩展,设计如下数据项和数据结构:表 4-1 用户信息数据表:users中文名称 字段名 字段类型 字段长度 是否允许为空 备注登录名 username varchar 50 not null 主键用户昵称 nickname varchar 50 null密码 passwor

28、d varchar 50 not null登录状态 status int 4 not null最后登录时间 logintime datetime 8 null最后注销时间 logouttime datetime 8 null最后消息编号 last_msg_id int 4 not null表 4-2 聊天信息数据表:message中文名称 字段名 字段类型 字段长度 是否允许为空 备注消息编号 msg_id int 4 not null 主键发送者用户名 sender varchar 50 not null接受者用户名 receiver varchar 50 not null消息内容 cont

29、ent varchar 255 not null发送时间 sendtime datetime 8 not null表 4-3 users 变化监控表:global_info中文名称 字段名 字段类型 字段长度 是否允许为空 备注4.2.2 存储过程设计为了提高执行效率,并且简化数据库访问的复杂程度,本系统设计了相应的存储过程完成基本的数据库相关功能。根据对本系统的分析共创建了 5 个基本的存储过程:用户登录存储过程:UserLogin ;用户注销存储过程:UserLogout;发送消息存储过程:SendMessage ;最近聊天记录存储过程:GetRecentMsg ;获取最新消息存储过程:G

30、etNewMessage。1 用户登录存储过程 UserLogin 实现用户的登录功能,如果成功登录则第 11 页 返回 0,反之则返回 1;2 用户注销存储过程 UserLogout 实现用户的登出功能,如果成功登出则返回 0,反之则返回 1;3 发送消息存储过程 SendMessage 首先对发送者和接收者的用户名进行检查,然后再插入新的聊天记录;4 最近聊天记录存储过程:GetRecentMsg 的作用是返回最近两个用户之间的聊天记录;5 获取最新消息存储过程 GetNewMessage 根据数据库 message 表中的msg_id 字段判断哪些是新消息,凡是消息 ID 大于 msg_

31、id 字段的均是新消息。4.3 系统功能分析与设计本系统的主要任务是提供用户之间实时的交流,方便用户之间相互的沟通。1系统登录。登录模块采用基于标准的 MVC 架构的开发模式。与一般的登录系统相似,主要是对登录用户的身份进行合法性验证。登录状态分为两种:在线、隐身。根据自己的需求选择登录方式。2登录状态切换。当用户登录后还可以重新选择登录状态,通过选择下拉列表的选项可以切换用户的登录状态是在线或者隐身。或者单击“注销”按钮,将注销用户的登录。3用户列表查看。当用户登录成功后,系统将显示给用户他的所有在线好友,并且实时的更新用户列表:当有好友登录后将即时的显示在用户列表中;当有好友临时退出系统后

32、将在用户列表中消失。4消息提示。我们设计了一个类似于 MSN 提示框的小窗口,定时的检查是否有新消息,如果有的话弹出这个窗口,用户可以即时回复消息。5查看近期消息。当加载消息发送页面的时候,会首先加载若干条近期的聊天记录,帮助用户回顾以往的聊天内容。6发送消息。用户选择发送对象后,直接进行发送。7接收消息。在消息发送后接收者能够实时接收消息。根据需求分析和功能说明,开始系统的图形化建模,本系统的功能说明图4-3 所示:第 12 页 图 4-3 系统功能说明图web-msn 即时通讯系统执行者a) Client:web-msn 登录端,使用 web-msn 进行即时通讯的人b) Server:w

33、eb-msn 服务端,对用户进行注册、登录、资料管理的角色c) DBServer:web-msn 数据库服务器,保存用户数据的角色d) MsgSender:端对端传输消息或这文件时的发送端e) MsgReceiver:端对端传输消息或者文件时的接受端其中,MsgSender 和 MsgReceiver 从属于 Clientweb-msn 即时通讯系统用例说明a) 注册:使用者通过注册成为 web-msn 用户;b) 登录:连接服务器获得服务;c) 更改状态:更改自己在服务器的状态,状态分为:在线、隐身;d) 更改资料:更改自己的资料并保存在数据库服务器;e) 查找好友:从服务器获得好友信息;f

34、) 传输信息:传送文本信息或者富文本信息给好友;g) 退出系统:从服务器退出,取消服务;第 13 页 4.4 系统模块设计4.4.1 注册模块图 4-4 注册用例图注册用例图用例说明:填写注册信息检查信息格式新注册申请传输注册数据生成新帐号添加新用户命令第 14 页 在数据库中添加新用户4.4.2 登录模块图 4-5 登录用例图登录用例图用例说明:a) 输入登录信息b) 发送登录请求c) 验证登录信息d) 传输好友列表e) 刷新在线用户列表f) 通知好友上线g) 改变好友状态h) 读取用户数据命令i) 从数据库中读取用户信息4.4.3 传输信息模块第 15 页 图 4-6 传输信息用例图在线传

35、输信息用例图用例:a) 选择发送内容b) 传输信息c) 显示信息4.4.4 退出系统模块第 16 页 图 4-7 退出系统用例图退出系统用例a) 退出 web-msnb) 发送退出消息c) 刷新在线用户列表d) 通知好友下线e) 改变好友状态f) 更改用户状态命令g) 在数据库中更改用户状态数据5 系统实现5.1 发送消息功能实现为了实现发送消息的功能,在服务器端代码中需要定义 Ajax 方法SendMessage,具体代码如下:AjaxMethod()public void SendMessage(string strUsername, string strContent)/ 数据连接Sql

36、Connection conn = new SqlConnection(ConfigurationSettings.AppSettings“ConnStr“);/ SQL命令SqlCommand cmd = conn.CreateCommand();cmd.CommandText = string.Format(“SendMessage '0','1', '2'“,User.Identity.Name, strUsername, strContent);try/ 打开数据连接conn.Open();/ 执行SQL,发送消息cmd.ExecuteN

37、onQuery();catch (SqlException)finally/ 关闭连接conn.Close();第 17 页 然后在客户端编写 getMessage 函数,调用服务器 Ajax 方法进行消息的发送。getMessage 函数的代码如下:5.2 接收消息功能实现为了实现接收消息的功能,在服务器端代码中需要定义 Ajax 方法/ 发送消息function sendMessage()/ 消息内容输入框var ta_content = el(“content“);/ 如果输入内容不为空if (ta_content.value.length 0)/ 消息显示区域var div_recen

38、tMsg = el(“recentMsg“);/ 用户名var username = document.location.search.split('=')1;/ 发送消息ch111.SendMsg.SendMessage(username, ta_content.value);/ 清空输入框ta_content.value = “;/ 页面跟随输入框滚动ta_content.scrollIntoView(false);/ 获取新消息getNewMessage();第 18 页 try/ 向DataSet中填充消息数据da.Fill(ds);catch (SqlExceptio

39、n)finally/ 关闭连接conn.Close();return ds;GetNewMessage,具体代码如下:然后在客户端编写 getNewMessage 函数,调用服务器 Ajax 方法进行消息的发送。getNewMessage 函数的代码如下:AjaxMethod()public DataSet GetNewMessage()/ 返回的数据集DataSet ds = new DataSet();/ 数据连接SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings“ConnStr“);/ SQL命

40、令SqlCommand cmd = conn.CreateCommand();/ 数据适配器SqlDataAdapter da = new SqlDataAdapter(cmd);try/ 向DataSet中填充消息数据da.Fill(ds);function getNewMessage()/ 用户名var username = document.location.search.split('=')1;/ 消息显示区域var div_recentMsg = el(“recentMsg“);/ 获取最新消息的数据表var dt = ch111.SendMsg.GetNewMess

41、age().value.Tables0;for (var i = 0;i 对象var oneMsg = document.createElement(“span“);/ 消息发送者与发送对象var strLine1 = dt.Rowsi.sender + “说: (“ + dt.Rowsi.sendtime + “)“;strLine1 = DealBrackets(strLine1);/ 消息内容var strLine2 = dt.Rowsi.content;strLine2 = DealBrackets(strLine2);/ 显示样式oneMsg.innerHTML = “ + strL

42、ine1 + “ + strLine2 + “;第 19 页 oneMsg.style.padding = “2px 2px 2px 2px“;oneMsg.style.color = (dt.Rowsi.sender = username) ? “blue“ : “red“;oneMsg.style.fontFamily = “'Courier New' , 宋体“;/ 附加到DOMdiv_recentMsg.appendChild(oneMsg);/ 主进程循环function mainLoop()/ 获取新消息getNewMessage();/ 每隔1秒检查一次setTi

43、meout(“mainLoop()“, 1000);/ 显示最近的消息getRecentMsg();/ 定时更新消息列表mainLoop();第 20 页 6 测试由于开发占据了我大部分的精力和时间,平时所作的测试也就是一些手工的调试和边界的黑盒测试,在这里只是列举我测试的一些范围,不做详细描叙。6.1 测试内容 1注册功能测试;2在线好友实时更新测试3发送消息功能测试;4查看近期消息功能测试;5接收消息功能测试。6.2 测试结果以上的测试案例是单独进行测试的,还需要进一步的交叉案例测试。通过以上简单测试说明了设计方法的正确性,它已经初步符合了即时通讯系统的基本要求即时,具有良好的检测性能和准

44、确的检测结果。但系统构架和代码设计还需要进一步优化,以提高系统的运行效率,降低所耗的系统资源,为用户提供更好的服务。结  论本次对即时通讯的课题研究涉及到了即时通讯协议的定制;即时通讯服务模式的探讨; web-msn 系统建模、设计到实现的一系列过程,重点讲叙了 Ajax 新技术的使用等知识,也介绍了相关的社会科学理论以及与即时通讯软件的紧密结合,纵观即时通讯事业的壮大和发展,即时通讯的服务功能将会越来越丰富和完善,并必将更加深入地渗透到我们的日常生活中来,及时的研究即时通讯技术,无论是对我们的研究还是生活,都将带来相当大的影响。由于时间的限制以及本能能力所及,web-msn 的各种

45、功能还只是处于初步实现阶段,在接下来的时间里,如果有机会的话,我将进一步的深入和拓展web-msn 的功能。下一步 web-msn 的发展将会重点放在某一个领域,比如说教育业,然后将此领域的相关特色与 web-msn 的功能紧密结合,做成一个专业的即时通讯软件。第 21 页 参考文献1 刘晓华.精通.NET 核心技术M. 北京:电子工业出版社,2002。2 马军. 精通 ASP.NET2.0 网络应用系统开发M.北京:人民邮电出版社,2006。3 马万宝. ASP.NET 技术详解与应用实例M. 北京:兵器工业出版社,2006。4 施伟伟,张蓓. 征服 Ajax Web 2.0 快速入门与项目

46、实践M. 北京:人民邮电出版社,2006。5 夏慧军,魏雪辉. 深入浅出 AjaxM. 北京:电子工业出版社,2006。6 方睿,刁仁宏,吴四九等. 网络数据库原理及应用M. 成都:四川大学出版社,2005。7 龙帅. 深入浅出 SQL SERVER 数据库开发M. 北京:中国青年出版社,2006。第 22 页 附  录第 23 页 图 1 登录界面                图 2 注册界面第 24 页 图 2 登录后主界面图 3 即时弹出信息窗口第 25 页 图 4 聊天窗口第 26 页 致  谢本文是在陈麟和刁仁宏老师的热情关心和指导下完成的,他们渊博的知识和严谨的治学作风使我受益匪浅,对顺利完成本课题起到了极大的作用。在此向他表示我最衷心的感谢!在论文完成过程中,本人还得到了陈发仁、蔡航标同学的热心帮助,本人向他们表示深深的谢意!最后向在百忙之中评审本文的各位专家、老师表示衷心的感谢!

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

当前位置:首页 > 学术论文 > 大学论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报