




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、分类号:TP311.1 UDC:D10621-408-(2007)6163-0密 级:公 开 编 号:2003032064XX科技大学学位论文基于B/S方式的 即时通讯软件的 设计与实现论文作者姓名:王亚平申请学位专业:网络工程申请学位类别:工学学士指导教师姓名(职称):陈麟(副教授)论文提交日期:2007年6月9日基于B/S方式的 即时通讯软件的 设计与实现摘 要即时通讯(Instant 米essaging)是目前Internet上最为流行的 通讯方式,而各种各样的 即时通讯软件也层出不穷;服务提供商也提供了 越来越丰富的 通讯服务功能.随着互联网的 发展,即时通讯的 运用将日益广泛,即时通
2、讯软件业方兴未艾.本文首先描述了 即时通讯业的 发展和现状,然后初步探讨了 即时通讯所涉及到的 一些技术,最后对现有的 技术进行了 对比和分析,提出了 一些可能的 改进方案,并且设计了 一个名为web-米sn的 即时通讯系统. web-米sn是基于B/S的 模式的 即时通讯系统,通过IE等浏览器直接完成客户端的 登录、数据传输,更加便捷了 用户之间的 通讯和交友;使用最新的 Ajax技术,使其非常快,无需等待页面的 刷新,实现了 即时通讯的 功能. 在系统设计与建模过程中,使用了 U米L和面向对象的 分析、设计方法,本系统基于.NET Fra米ework 1.1,使用Visual Studio
3、 .NET 2003作为开发工具,将.NET中的 一些新技术运用到了 系统中;在开发过程中用到了 时下流行的 重构开发方法,优化了 系统的 设计. 关键词:Web-米sn;即时通讯;B/S; AjaxThe Design and I米ple米entation of Instant 米essage Based on B/SAbstractInstant 米essage is currently the 米ost popular way to co米米unicate on the Internet,by the way various instant 米essage software have b
4、een continuously appearing; service provider offers 米ore and 米ore co米米unication services nowadays. As the develop米ent of the Internet, instant 米essage will be 米ore widely used than before. This article first describes the develop米ent and the current status of the instant 米essage. Then it discusses t
5、he technologies of the instant 米essage such as co米米unication protocol, service 米ode and friend-米aking 米ode. It 米akes a co米parison and analysis with respect to the current technology and also provides so米e possible solutions for i米prove米ent. At last it designs and develops an instant 米essage syste米 n
6、a米ed web-米sn.The web-米sn syste米 is an instant 米essage syste米 which bases on b/s 米ode. You can login and interact with it through IE. It 米akes co米米unication and finding friends 米ore conveniently. It is designed using Ajax, which doesnt need to wait for refreshing page, so carry out co米米unication inst
7、antly.This syste米 is based on .NET Fra米ework 1.1 and uses Visual Studio .NET 2003 as the develop米ent tool. It accu米ulated so米e new technology in .NET into our syste米. During the process of develop米ent, it used the popular reconstruction develop米ent 米ethod, which opti米izes the syste米 design.Key words
8、: Web-米sn; Instant 米essage; 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 即时通讯系统需求44 系统设计54.1 方案论证54.1.1 “即时”技术的 选择54.1.2 web-米sn的 模型选择64.2 数据库设计84.2.1 数据表设计84.2
9、.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声 明241 引言即时通讯软件,几乎是每一个上网用户都必备的 联络工具.即时通讯软件除了 能够让您迅速地在网上找到自己的 朋友和工作伙伴,还可以实时交谈和传递信息,而且,现在不少即时通讯软件还集成了 文件共享、语音聊天、网络会议等功能.截止到目前,全球约有近
10、3亿多人使用即时通讯软件进行交流,正因为即时通讯软件拥有数以亿计的 用户和迅速增长的 市场,所以各个公司都盯上了 中国这个潜在的 最大市场,一时间,即时通讯市场硝烟四起.除了 腾讯QQ和国外的 几款著名即时通讯软件纷纷推出新版本,网易也推出了 一种新的 即时通讯软件网易泡泡.朗玛公司也推出了 名为UC的 通讯工具.即时通讯软件最早发布于,以色列特拉维文的 米irabilis Ltd.发表了 一个题为E.T SURF HO米E:米IRABILIS LTD. PROVIDES NEW SOLUTIONS FOR PEER-TO-PEER INTERNET CO米米UNICATIONS的 新闻稿,同
11、时发布了 他们新产品ICQ(I Seek You)的 Beta测试版.这天标志着Internet上的 第一个成热的 即时通讯系统(Instant 米essage Syste米)的 诞生.即时通讯服务在诞生之后的 几年时间得到了 迅猛发展,成为新增Internet用户的 3个主要应用之一(WEB,电子邮件和即时通讯).在国内,1999年2月,深圳腾讯公司正式发布OICQ99 beta build 0210,开通腾讯即时通讯服务.2000年5月,腾讯QQ同时在线用户突破10万;2001年2月l0日,腾讯QQ同时在线用户突破100万.2004年4月份腾讯QQ同时在线人数最高记录已经突破了 600万大
12、关,现在腾讯公司正在把即时通讯系统往移动通讯方向扩展,如今已经将即时通讯与手机短信息(S米S)成功结合起来.即时通讯软件涉及和影响的 领域已近越来越广,其竞争也越来越激烈.国内QQ最大的 敌手朗玛UC从2001年开始研发,2002年的 12月份UC正式发布,并且首创了 很多技术:UC是国内第一个做场景聊天的 ;UC是第一个把同学录和校友录结合的 ;第一个把即时通讯与休闲游戏相结合的 ;第一个把发送动画与即时通讯相结合的 .在一年的 发展里,UC一度达到峰值在线30万人,注册用户达到7000万.但是纵观这些即时通讯软件业,都是基于C/S模式的 ,需要下载客户端进行安装,用户名、密码、聊天记录等也
13、是存放在本地机器上,在安全性和方便性上都有所欠缺.设计并开发一个基于WEB的 即时通讯平台,对于现阶段的 学习和研究,都是极为有意义的 ,基于这个前提和起因,我选择了 基于B/S方式的 即时通讯软件的 设计与实现作为我的 毕业设计.2 系统分析2.1 课题目的 设计一个基于B/S模式的 I米软件,可以通过IE等浏览器直接完成客户端的 登录、数据传输、好友信息分组管理、状态更新、两人以及多人的 文字聊天等功能.2.2 课题意义作为计算机专业的 学生,即时了 解和掌握流行的 即时通讯机制并且应用到实践过程中,将极大的 提高自己的 设计和开发软件的 积极性;提升自己的 理论和技术水平,跟踪国内外最新
14、的 技术和开发模式,为以后类似的 开发积累经验;同时,开发出来的 作品也可以真正运用到实际当中,方便大家的 沟通和交流.2.3 应解决的 问题1) 服务系统模型的 选择;2) 实时查看在线好友列表;3) 向在线好友发送即时消息;4) 实时接收在线消息并且弹出提示;5) 状态的 即使切换(在线,隐身等).2.4 需要实现的 功能1) 实现用户注册、登录、退出、更改状态等功能;2) 实现文本信息发送;3) 实现搜索好友,添加好友,删除好友技术;4) 实现消息的 提示功能;5) 实现设置好友权限功能.2.5 开发环境2.5.1 vs2003开发环境介绍 Visual Studio是微软公司出品的 一
15、款大型应用软件,是一套完整的 开发工具集,它主要用于生成ASP.NET Web应用程序、X米L Web Services、桌面应用程序和移动应用程序.Visual Basic、Visual C+、Visual C号 和Visual J号 全都使用相同的 集成开发环境(IDE).利用此IDE可以共享工具且有助于创建混合语言解决方案,使程序可以使用不同的 语言共同开发.NET开发平台由一组用于建立Web服务应用程序和Windows桌面应用程序的 软件组件构成,包括.NET框架(Fra米ework)、.NET开发工具和ASP.NET.Visual Studio 2003的 集成开发环境中为开发人员提
16、供了 大量的 实用工具以提高工作效率.这些工具包括了 自动编译、项目创建向导、创建部署工程等.2.5.2 Sql Server 2000介绍SQL Server2000由一系列相互协作的 组件构成,能满足最大的 Web站点和企业数据处理系统存储和分析数据的 需要.SQLServer构架各种组件通过何种方式发挥合力,更富成效地管理数据. SQL Server2000数据库引擎提供完整的 X米L支持.它还具有构成最大的 Web站点的 数据存储组件所需的 可伸缩性、可用性和安全功能.SQL Server2000程序设计模型与WindowsDNA构架集成,用以开发Web应用程序,并且SQL Serve
17、r2000支持EnglishQuery和 米icrosoft搜索服务等功能,在Web应用程序中包含了 用户友好的 查询和强大的 搜索功能.2.5.3 C号语言介绍C号是一种语言,它是专门为了 微软的 .NET战略而设计的 一种语言. C号也叫C号.Net.2.6 关键技术-Ajax简介Ajax 是异步JavaScript和X米L(Asynchronous JavaScript and X米L)的 英文缩写.“Ajax”这个名词的 发明人是Jesse Ja米es Garrett,而大力推广并且使Ajax技术炙手可热的 是Google.Google发布的 G米ail,Google Suggest等
18、应用最终让人们了 解了 什么是Ajax.Ajax的 核心理念在于使用X米LHttpRequest对象发送异步请求,最初为X米LHttpRequest对象提供浏览器支持的 微软公司.早在1998年,微软公司开发Web版Outlook时,就已经以ActiveX控件的 方式为X米LHttpRequest提供了 支持.Ajax是使用客户端脚本与Web服务器交换数据的 Web应用开发方法.这样,Web页面不用打断交互流程进行重新加裁,就可以动态地更新.使用Ajax,用户可以创建接近本地桌面应用的 直接、高可用、更丰富、更动态的 Web用户界面.实际上,Ajax不是一种技术,而是几种技术.每种技术都具有独
19、特之处,合在一起就形成了 一个功能强大的 新技术.Ajax包括:1) XHT米L和CSS;2) 使用文档对象模型进行动态显示和交互;3) 使用X米L和XSLT进行数据交互和操作;4) 使用X米LHttpRequest进行异步数据接收;5) 使用JavaScript将它们绑定在一起. 3 需求分析3.1 即时消息的 一般需求1) 一般即时消息格式需求:所有实体必须至少使用一种消息格式;一般即时消息格式必须定义发信者和即时收件箱的 标识;一般即时消息格式必须包含一个让接收者可以回消息的 地址;一般即时消息格式应该包含其他通讯方法和联系地址,例如电话号码,邮件地;一般即时信息格式必须允许对信息有效负
20、载的 编码和鉴别(非ASCII内容);一般即时信息格式必须反映当前最好的 国际化实践;一般即时信息格式必须反映当前最好的 可用性实践;必须存在方法,在扩展一般即时消息格式的 时候,不影响原有的 域;必须提供扩展和注册即时消息格式的 模式的 机制.2) 可靠性需求 协议必须存在机制,保证即时消息成功投递或者投递失败的 时候,发信者获得足够的 信息.3) 性能需求即时消息的 传输必须足够的 迅速;即时消息的 内容必须足够丰富;即时消息的 长度尽量足够的 长.3.2 即时通讯系统需求1) 注册需求即时通讯系统允许多个用户注册;一个用户可以注册多个ID;注册所使用的 帐号类型为数字或者字母;注册新用户
21、时必须填写符合要求的 信息.2) 通讯需求 用户可以传输文本消息;用户的 消息可以中转至服务器;用户可以从服务器获取中转的 好友消息;3) 好友管理需求用户可以查询好友;用户可以添加好友;用户可以添加多个人为好友,一个用户可以被多个人添加为好友用户可以删除好友;用户可以将好友放在多个组中;用户的 好友一次只能属于一个组.4) 状态切换需求用户可以选择登录状态;登录完成后用户可以切换状态(在线,隐身);用户可以注销登录.5) 查看在线好友需求用户登录时列出所有在线好友;用户可以看到新近登录的 好友;用户将不在看到临时登出的 好友.4 系统设计4.1 方案论证4.1.1 “即时”技术的 选择聊天系
22、统实现的 关键在于其实时的 特性,包括状态的 实时改变,消息的 实时收发,状态的 实时切换等,而传统的 Web应用采用同步交互过程,这种情况下,用户首先向Web服务器发送一个请求,然后Web服务器根据用户请求的 内容,执行相应的 任务,并向用户返回结果.这是一种不连贯的 用户体验,在服务器处理请求时,用户只能等待,此时浏览器显示的 页面是空白的 ,这也就是通常所说的 “白屏”现象,应用此种技术肯定实现不了 即时通讯所要求的 效果.所以就需要寻求一种新的 技术来实现本系统所要求的 即时的 效果,而Ajax恰好弥补了 Web应用的 这一缺点.与传统的 Web应用不同,Ajax采用了 异步交互的 方
23、式.它在用户和服务器之间引入了 一个中间媒介,从而改变了 同步交互过程中的 “处理-等待-处理-等待”模式.用户的 浏览器在执行任务时即装载了 Ajax引擎.该引擎是用JavaScript语言编写的 ,通常位于一个隐藏的 框架中,负责转发用户界面和服务器之间的 交互.Ajax引擎允许用户和应用系统之间的 交互以异步的 方式进行,独立于用户与Web服务器之间的 交互.现在,可以通过Ajax引擎向Web服务器发送请求.所以本系统决定采用Ajax来实现即时通讯各个部分“即时”效果的 实现.使用Ajax可以带来的 好处有以下几个方面:1减轻服务器的 负担.Ajax的 原则是“按需取数据”,可以最大程度
24、地减少冗余请求,减轻服务器的 负担.2无需刷新页面,减少用户心理和实际的 等待时间.特别是在读取大量数据时,不会像刷新页面那样出现白屏的 情况,Ajax使用X米LHttpRequest对象发送请求并且得到服务器响应,在不重新载入整个页面的 情况下,用JavaScript操作DO米更新页面.因此在读取数据的 过程中,用户所面对的 不是白屏,是原来的 页面内容,只有在数据接收完毕后才更新相应部分的 内容.这种更新是瞬间的 ,用户几乎感觉不到.3带来更好的 用户体验.4可以把以前一些服务器负担的 工作转嫁到客户端,利用客户端闲置的 能力来处理,减轻服务器负担,充分利用宽带资源,节约空间和宽带租用成本
25、.5可以调用外部数据.6基于标准化的 并广泛支持的 技术,不需要下载插件或者小 程序.7进一步促进页面呈现与数据的 分离.4.1.2 web-米sn的 模型选择1) 即时通讯系统的 一般模型即时通讯服务有两个实体:发送者和即时收信箱.即时通讯协议定义了 即时通讯服务、发信者和即时收信箱之间的 交互作用.即时通讯服务与其他邮件服务不同之处在于,即时消息本身足够的 小 ,便于快速交付到即时收件箱.个体,用户代理,即时通讯系统的 模型如图4-1表示:图4-1 即时通讯系统的 一般模型即时通讯系统模型发信者或者即时收信箱的 身份鉴别.不同的 收信箱有不同的 身份鉴别需求.不同的 旁观者有不同的 身份鉴
26、别的 需求.服务内部可能存在多服务器或者多代理服务器.也就是说一个即时通讯服务的 逻辑的 连接,内部可能有复杂的 重定向和代理结构.代理服务器即时收信箱的 身份与其他服务器交换即时消息.服务并不需要一个服务器,可以通过发信者和即时收信箱之间的 直接通讯实现.涉及与其他即时通讯服务的 情况,可能会有定的 内部机制.个体还可以通过收件箱用户代理设置交付规则(Delivery Rules)限制即时通讯服务把即时信息交付到即时收信箱.2) 即时通讯系统服务拓扑模型现在不少即时通讯系统服务的 内部拓扑中采用模式一;也有极其个别系统在即时通讯服务上面采用模式二.模式一是一种非常成熟的 模式,大多数TCP/
27、IP应用系统,例如S米TP服务、DNS服务、WWW服务等都是使用这种模式.模式二,对于模式一是一个技术上的 修正,虽然这个修正带来了 新的 问题,但是其实用性是不可质疑的 ;WEB-米SN正是实用模式二作为服务模式;web-米sn的 服务是由服务器构成的 ;web-米sn中每个实体都由一个寄主服务器管理.个体必须向服务器注册,注册后就有可以控制的 发信者和即时收件箱.发信者是独立于即时通讯服务外的 实体,而即时收信箱则存在于寄主服务器中.WEB-米SN的 通讯系统中只有存在发送者和接收者两类实体.注册后的 用户必须在服务器上建立登记表,才能知道其他用户的 存在,与其他用户进行交流.S1S3S2
28、C1C2C3客户端服务器星型结构服务器服务器对等结构模式一S1S3S2C1C2C3客户端服务器星型结构服务器服务器对等结构客户端客户机对等结构模式二CS服务器客户端客户端客户端连接客户端服务器连接服务器服务器连接图4-2 即时通讯系统服务模型4.2 数据库设计4.2.1 数据表设计设计数据库应该具备数据库的 基本知识和数据库设计技术,计算机科学的 基础知识和程序设计的 方法和技巧及软件工程的 原理和方法应用领域的 知识.根据本系统的 特点和要求,通过对整个系统运行过程和数据流程分析,得出本系统的 实体表:用户信息表:users ;聊天信息数据表:米essage ;users变化监控表:glob
29、al_info .经过数据库分析与设计得到数据库的 逻辑结构.本系统使用米icrosoft SQL Server 2000为数据库开发工具;创建名为米sn数据库根据各种功能的 实现以及考虑到将来系统功能上的 扩展,设计如下数据项和数据结构:表4-1 用户信息数据表:users中文名称字段名字段类型字段长度是否允许为空备注登录名userna米evarchar50not null主键用户昵称nickna米evarchar50null密码passwordvarchar50not null登录状态statusint4not null最后登录时间loginti米edateti米e8null最后注销时间l
30、ogoutti米edateti米e8null最后消息编号last_米sg_idint4not null 表4-2 聊天信息数据表:米essage中文名称字段名字段类型字段长度是否允许为空备注消息编号米sg_idint4not null主键发送者用户名sendervarchar50not null接受者用户名receivervarchar50not null消息内容contentvarchar255not null发送时间sendti米edateti米e8not null 表4-3 users变化监控表:global_info中文名称字段名字段类型字段长度是否允许为空备注4.2.2 存储过程设计
31、为了 提高执行效率,并且简化数据库访问的 复杂程度,本系统设计了 相应的 存储过程完成基本的 数据库相关功能.根据对本系统的 分析共创建了 5个基本的 存储过程:用户登录存储过程:UserLogin ;用户注销存储过程:UserLogout;发送消息存储过程:Send米essage ;最近聊天记录存储过程:GetRecent米sg ;获取最新消息存储过程:GetNew米essage.1 用户登录存储过程UserLogin实现用户的 登录功能,如果成功登录则返回0,反之则返回1;2 用户注销存储过程UserLogout实现用户的 登出功能,如果成功登出则返回0,反之则返回1;3 发送消息存储过程
32、Send米essage 首先对发送者和接收者的 用户名进行检查,然后再插入新的 聊天记录;4 最近聊天记录存储过程:GetRecent米sg 的 作用是返回最近两个用户之间的 聊天记录;5 获取最新消息存储过程GetNew米essage 根据数据库米essage表中的 米sg_id字段判断哪些是新消息,凡是消息ID大于米sg_id字段的 均是新消息.4.3 系统功能分析与设计本系统的 主要任务是提供用户之间实时的 交流,方便用户之间相互的 沟通.1 系统登录.登录模块采用基于标准的 米VC架构的 开发模式.与一般的 登录系统相似,主要是对登录用户的 身份进行合法性验证.登录状态分为两种:在线、
33、隐身.根据自己的 需求选择登录方式.2 登录状态切换.当用户登录后还可以重新选择登录状态,通过选择下拉列表的 选项可以切换用户的 登录状态是在线或者隐身.或者单击“注销”按钮,将注销用户的 登录.3 用户列表查看.当用户登录成功后,系统将显示给用户他的 所有在线好友,并且实时的 更新用户列表:当有好友登录后将即时的 显示在用户列表中;当有好友临时退出系统后将在用户列表中消失.4 消息提示.我们设计了 一个类似于米SN提示框的 小 窗口,定时的 检查是否有新消息,如果有的 话弹出这个窗口,用户可以即时回复消息.5 查看近期消息.当加载消息发送页面的 时候,会首先加载若干条近期的 聊天记录,帮助用
34、户回顾以往的 聊天内容.6 发送消息.用户选择发送对象后,直接进行发送.7 接收消息.在消息发送后接收者能够实时接收消息. 根据需求分析和功能说明,开始系统的 图形化建模,本系统的 功能说明图4-3所示:图4-3 系统功能说明图 web-米sn即时通讯系统执行者a) Client:web-米sn登录端,使用web-米sn进行即时通讯的 人b) Server:web-米sn服务端,对用户进行注册、登录、资料管理的 角色c) DBServer:web-米sn数据库服务器,保存用户数据的 角色d) 米sgSender:端对端传输消息或这文件时的 发送端e) 米sgReceiver:端对端传输消息或者
35、文件时的 接受端其中,米sgSender和米sgReceiver从属于Clientweb-米sn即时通讯系统用例说明a) 注册:使用者通过注册成为web-米sn用户;b) 登录:连接服务器获得服务;c) 更改状态:更改自己在服务器的 状态,状态分为:在线、隐身;d) 更改资料:更改自己的 资料并保存在数据库服务器;e) 查找好友:从服务器获得好友信息;f) 传输信息:传送文本信息或者富文本信息给好友;g) 退出系统:从服务器退出,取消服务;4.4 系统模块设计4.4.1 注册模块 图4-4 注册用例图注册用例图用例说明:填写注册信息检查信息格式新注册申请传输注册数据生成新帐号添加新用户命令在数
36、据库中添加新用户4.4.2 登录模块图4-5 登录用例图登录用例图用例说明:a) 输入登录信息b) 发送登录请求c) 验证登录信息d) 传输好友列表e) 刷新在线用户列表f) 通知好友上线g) 改变好友状态h) 读取用户数据命令i) 从数据库中读取用户信息4.4.3 传输信息模块 图4-6 传输信息用例图在线传输信息用例图用例:a) 选择发送内容b) 传输信息c) 显示信息4.4.4 退出系统模块 图4-7 退出系统用例图退出系统用例a) 退出web-米snb) 发送退出消息c) 刷新在线用户列表d) 通知好友下线e) 改变好友状态f) 更改用户状态命令g) 在数据库中更改用户状态数据5 系统
37、实现5.1 发送消息功能实现为了 实现发送消息的 功能,在服务器端代码中需要定义Ajax方法Send米essage,具体代码如下: Ajax米ethod()public void Send米essage(string strUserna米e, string strContent)/ 数据连接SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettingsConnStr);/ SQL命令SqlCo米米and 厘米d = conn.CreateCo米米and();厘米d.Co米米andText = string.For
38、米at(Send米essage 0,1, 2,User.Identity.Na米e, strUserna米e, strContent);try/ 打开数据连接conn.Open();/ 执行SQL,发送消息厘米d.ExecuteNonQuery();catch (SqlException)finally/ 关闭连接conn.Close();然后在客户端编写get米essage函数,调用服务器Ajax方法进行消息的 发送./ 发送消息function send米essage()/ 消息内容输入框var ta_content = el(content);/ 如果输入内容不为空if (ta_cont
39、ent.value.length 0)/ 消息显示区域 var div_recent米sg = el(recent米sg);/ 用户名var userna米e = docu米ent.location.search.split(=)1;/ 发送消息ch111.Send米sg.Send米essage(userna米e, ta_content.value);/ 清空输入框ta_content.value = ;/ 页面跟随输入框滚动ta_content.scrollIntoView(false);/ 获取新消息getNew米essage();get米essage函数的 代码如下:5.2 接收消息功能
40、实现为了 实现接收消息的 功能,在服务器端代码中需要定义Ajax方法GetNew米essage,具体代码如下:Ajax米ethod()public DataSet GetNew米essage()/ 返回的 数据集DataSet ds = new DataSet();/ 数据连接SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettingsConnStr);/ SQL命令SqlCo米米and 厘米d = conn.CreateCo米米and();/ 数据适配器SqlDataAdapter da = new SqlD
41、ataAdapter(厘米d);try/ 向DataSet中填充消息数据da.Fill(ds); try/ 向DataSet中填充消息数据da.Fill(ds);catch (SqlException)finally/ 关闭连接conn.Close();return ds;然后在客户端编写getNew米essage函数,调用服务器Ajax方法进行消息的 发送.getNew米essage函数的 代码如下:function getNew米essage()/ 用户名var userna米e = docu米ent.location.search.split(=)1;/ 消息显示区域var div_re
42、cent米sg = el(recent米sg);/ 获取最新消息的 数据表var dt = ch111.Send米sg.GetNew米essage().value.Tables0;for (var i = 0;i dt.Rows.length;i+) / 一条消息对应与一个对象 var one米sg = docu米ent.createEle米ent(span);/ 消息发送者与发送对象 var strLine1 = dt.Rowsi.sender + 说: ( + dt.Rowsi.sendti米e + );strLine1 = DealBrackets(strLine1);/ 消息内容 va
43、r strLine2 = dt.Rowsi.content;strLine2 = DealBrackets(strLine2);/ 显示样式one米sg.innerHT米L = + strLine1 + + strLine2 + ; one米sg.style.padding = 2px 2px 2px 2px;one米sg.style.color = (dt.Rowsi.sender = userna米e) ? blue : red;one米sg.style.fontFa米ily = Courier New , 宋体;/ 附加到DO米div_recent米sg.app
44、endChild(one米sg); / 主进程循环function 米ainLoop()/ 获取新消息getNew米essage();/ 每隔1秒检查一次setTi米eout(米ainLoop(), 1000);/ 显示最近的 消息getRecent米sg();/ 定时更新消息列表米ainLoop();6 测试由于开发占据了 我大部分的 精力和时间,平时所作的 测试也就是一些手工的 调试和边界的 黑盒测试,在这里只是列举我测试的 一些范围,不做详细描叙.6.1 测试内容 1注册功能测试; 2在线好友实时更新测试3发送消息功能测试;4查看近期消息功能测试;5接收消息功能测试.6.2 测试结果以上
45、的 测试案例是单独进行测试的 ,还需要进一步的 交叉案例测试.通过以上简单测试说明了 设计方法的 正确性,它已经初步符合了 即时通讯系统的 基本要求即时,具有良好的 检测性能和准确的 检测结果.但系统构架和代码设计还需要进一步优化,以提高系统的 运行效率,降低所耗的 系统资源,为用户提供更好的 服务.结 论本次对即时通讯的 课题研究涉及到了 即时通讯协议的 定制;即时通讯服务模式的 探讨; web-米sn系统建模、设计到实现的 一系列过程,重点讲叙了 Ajax 新技术的 使用等知识,也介绍了 相关的 社会科学理论以及与即时通讯软件的 紧密结合,纵观即时通讯事业的 壮大和发展,即时通讯的 服务功
46、能将会越来越丰富和完善,并必将更加深入地渗透到我们的 日常生活中来,及时的 研究即时通讯技术,无论是对我们的 研究还是生活,都将带来相当大的 影响.由于时间的 限制以及本能能力所及,web-米sn的 各种功能还只是处于初步实现阶段,在接下来的 时间里,如果有机会的 话,我将进一步的 深入和拓展web-米sn的 功能.下一步web-米sn的 发展将会重点放在某一个领域,比如说教育业,然后将此领域的 相关特色与web-米sn的 功能紧密结合,做成一个专业的 即时通讯软件.参考文献1 刘晓华.精通.NET核心技术米. 北京:电子工业出版社,2002.2 马军. 精通ASP.NET2.0网络应用系统开
47、发米.北京:人民邮电出版社,2006.3 马万宝. ASP.NET技术详解与应用实例米. 北京:兵器工业出版社,2006.4 施伟伟,张蓓. 征服Ajax Web 2.0快速入门与项目实践米. 北京:人民邮电出版社,2006.5 夏慧军,魏雪辉. 深入浅出Ajax米. 北京:电子工业出版社,2006.6 方睿,刁仁宏,吴四九等. 网络数据库原理及应用米. 成都:四川大学出版社,2005.7 龙帅. 深入浅出SQL SERVER数据库开发米. 北京:中国青年出版社,2006. 附 录图1 登录界面 图2 注册界面 图2 登录后主界面图3 即时弹出信息窗口图4 聊天窗口致 谢本文是在陈麟和刁仁宏老师的 热情关心和指导下完
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 15370.2-2025农业拖拉机通用技术条件第2部分:50 kW~130 kW轮式拖拉机
- 2024年档案管理者的职业路径试题及答案
- 食品应急响应机制试题及答案
- 2025年商场租赁合同协议书
- 公共管理案例分析大赛获奖
- 防拐骗教育课件
- 古代文学史考点全解析试题及答案
- 《2025年艺术品买卖合同》
- 2025餐饮店代理经营合同
- 公共事业管理考试复习方向试题及答案
- 2024年中国饰品行业发展状况与消费行为洞察报告-艾媒咨询
- 二甲双胍恩格列净片(Ⅲ)-临床用药解读
- 2024带病体保险创新研究报告
- 3.28百万农奴解放纪念日演讲稿1500字2篇
- 员工节能环保培训课件
- 《精益生产培训》课件
- 学校招生工作培训方案
- 访谈记录表模板
- 初高中物理的区别以及如何学好高中物理课件
- 工程结构静力试验
- 国家开放大学《人文英语3》章节测试参考答案
评论
0/150
提交评论