ASP.NET 即时通讯软件的设计与实现(论文+源码)_Nueve

摘  要

即时通讯(Instant Messaging)是目前Internet上最为流行的通讯方式,而各种各样的即时通讯软件也层出不穷;服务提供商也提供了越来越丰富的通讯服务功能。随着互联网的发展,即时通讯的运用将日益广泛,即时通讯软件业方兴未艾。本文首先描述了即时通讯业的发展和现状,然后初步探讨了即时通讯所涉及到的一些技术,最后对现有的技术进行了对比和分析,提出了一些可能的改进方案,并且设计了一个名为web-msn的即时通讯系统。 

web-msn是基于B/S的模式的即时通讯系统,通过IE等浏览器直接完成客户端的登录、数据传输,更加便捷了用户之间的通讯和交友;使用最新的Ajax技术,使其非常快,无需等待页面的刷新,实现了即时通讯的功能。 

在系统设计与建模过程中,使用了UML和面向对象的分析、设计方法,本系统基于.NET Framework 1.1,使用Visual Studio .NET 2003作为开发工具,将.NET中的一些新技术运用到了系统中;在开发过程中用到了时下流行的重构开发方法,优化了系统的设计。 

关键词:Web-msn;即时通讯;B/S; Ajax

The Design and Implementation of Instant Message Based on B/S

Abstract

Instant 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 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 current 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 finding friends more conveniently. It is designed using Ajax, which doesn’t 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 popular reconstruction development method, which optimizes the system design.

Key words: Web-msn; Instant Message; B/S; Ajax

目  录

                                                    

1  引言

2  系统分析

2.1  课题目的

2.2  课题意义

2.3  应解决的问题

2.4  需要实现的功能

2.5  开发环境

2.5.1  vs2003开发环境介绍

2.5.2  Sql Server 2000介绍

2.5.3  C#语言介绍

2.6  关键技术-Ajax简介

3  需求分析

3.1  即时消息的一般需求

3.2  即时通讯系统需求

4  系统设计

4.1  方案论证

4.1.1 “即时”技术的选择

4.1.2  web-msn的模型选择

4.2  数据库设计

4.2.1  数据表设计

4.2.2  存储过程设计

4.3  系统功能分析与设计

4.4  系统模块设计

4.4.1  注册模块

4.4.2  登录模块

4.4.3  传输信息模块

4.4.4  退出系统模块

5  系统实现

5.1  发送消息功能实现

5.2  接收消息功能实现

6  测试

6.1  测试内容

6.2  测试结果

    

参考文献

    

    

    

1  引言

即时通讯软件,几乎是每一个上网用户都必备的联络工具。即时通讯软件除了能够让您迅速地在网上找到自己的朋友和工作伙伴,还可以实时交谈和传递信息,而且,现在不少即时通讯软件还集成了文件共享、语音聊天、网络会议等功能。截止到目前,全球约有近3亿多人使用即时通讯软件进行交流,正因为即时通讯软件拥有数以亿计的用户和迅速增长的市场,所以各个公司都盯上了中国这个潜在的最大市场,一时间,即时通讯市场硝烟四起。除了腾讯QQ和国外的几款著名即时通讯软件纷纷推出新版本,网易也推出了一种新的即时通讯软件——网易泡泡。朗玛公司也推出了名为UC的通讯工具。

即时通讯软件最早发布于1996年11月15日,以色列特拉维文的Mirabilis Ltd.发表了一个题为《E.T SURF HOME:MIRABILIS 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同时在线用户突破10万;2001年2月l0日,腾讯QQ同时在线用户突破100万。2004年4月份腾讯QQ同时在线人数最高记录已经突破了600万大关,现在腾讯公司正在把即时通讯系统往移动通讯方向扩展,如今已经将即时通讯与手机短信息(SMS)成功结合起来。即时通讯软件涉及和影响的领域已近越来越广,其竞争也越来越激烈。国内QQ最大的敌手朗玛UC从2001年开始研发,2002年的12月份UC正式发布,并且首创了很多技术:UC是国内第一个做场景聊天的;UC是第一个把同学录和校友录结合的;第一个把即时通讯与休闲游戏相结合的;第一个把发送动画与即时通讯相结合的。在一年的发展里,UC一度达到峰值在线30万人,注册用户达到7000万。

但是纵观这些即时通讯软件业,都是基于C/S模式的,需要下载客户端进行安装,用户名、密码、聊天记录等也是存放在本地机器上,在安全性和方便性上都有所欠缺。设计并开发一个基于WEB的即时通讯平台,对于现阶段的学习和研究,都是极为有意义的,基于这个前提和起因,我选择了基于B/S方式的即时通讯软件的设计与实现作为我的毕业设计。

2  系统分析

2.1 课题目的

设计一个基于B/S模式的IM软件,可以通过IE等浏览器直接完成客户端的登录、数据传输、好友信息分组管理、状态更新、两人以及多人的文字聊天等功能。

2.2 课题意义

作为计算机专业的学生,即时了解和掌握流行的即时通讯机制并且应用到实践过程中,将极大的提高自己的设计和开发软件的积极性;提升自己的理论和技术水平,跟踪国内外最新的技术和开发模式,为以后类似的开发积累经验;同时,开发出来的作品也可以真正运用到实际当中,方便大家的沟通和交流。

2.3 应解决的问题

1.服务系统模型的选择;

2.实时查看在线好友列表;

3.向在线好友发送即时消息;

4.实时接收在线消息并且弹出提示

5.状态的即使切换(在线,隐身等)。

2.4 需要实现的功能

1.实现用户注册、登录、退出、更改状态等功能;

2.实现文本信息发送;

3.实现搜索好友,添加好友,删除好友技术;

4.实现消息的提示功能;

5.实现设置好友权限功能。

2.5 开发环境

2.5.1 vs2003开发环境介绍

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 Studio 2003的集成开发环境中为开发人员提供了大量的实用工具以提高工作效率。这些工具包括了自动编译、项目创建向导、创建部署工程等。

2.5.2 Sql Server 2000介绍

SQL Server2000由一系列相互协作的组件构成,能满足最大的Web站点和企业数据处理系统存储和分析数据的需要。SQLServer构架各种组件通过何种方式发挥合力,更富成效地管理数据。  
     SQL Server2000数据库引擎提供完整的XML支持。它还具有构成最大的Web点的数据存储组件所需的可伸缩性、可用性和安全功能。SQL 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 Garrett,而大力推广并且使Ajax技术炙手可热的是Google。Google发布的Gmail,Google Suggest等应用最终让人们了解了什么是Ajax。

Ajax的核心理念在于使用XMLHttpRequest对象发送异步请求,最初为XMLHttpRequest对象提供浏览器支持的微软公司。早在1998年,微软公司开发Web版Outlook时,就已经以ActiveX控件的方式为XMLHttpRequest提供了支持。Ajax是使用客户端脚本与Web服务器交换数据的Web应用开发方法。这样,Web页面不用打断交互流程进行重新加裁,就可以动态地更新。使用Ajax,用户可以创建接近本地桌面应用的直接、高可用、更丰富、更动态的Web用户界面。

实际上,Ajax不是一种技术,而是几种技术。每种技术都具有独特之处,合在一起就形成了一个功能强大的新技术。Ajax包括:

1) XHTML和CSS;

2) 使用文档对象模型进行动态显示和交互;

3) 使用XML和XSLT进行数据交互和操作;

4) 使用XMLHttpRequest进行异步数据接收;

5) 使用JavaScript将它们绑定在一起。 

3 需求分析

  3.1 即时消息的一般需求

(1)一般即时消息格式需求:

①所有实体必须至少使用一种消息格式;

②一般即时消息格式必须定义发信者和即时收件箱的标识;

③一般即时消息格式必须包含一个让接收者可以回消息的地址;

④一般即时消息格式应该包含其他通讯方法和联系地址,例如电话号码,邮件地;

⑤一般即时信息格式必须允许对信息有效负载的编码和鉴别(非ASCII内容);

⑥一般即时信息格式必须反映当前最好的国际化实践;

⑦一般即时信息格式必须反映当前最好的可用性实践;

⑧必须存在方法,在扩展一般即时消息格式的时候,不影响原有的域;

⑨必须提供扩展和注册即时消息格式的模式的机制。

(2)可靠性需求

协议必须存在机制,保证即时消息成功投递或者投递失败的时候,发信者获得足够的信息。

(3)性能需求

①即时消息的传输必须足够的迅速;

②即时消息的内容必须足够丰富;

③即时消息的长度尽量足够的长。

3.2 即时通讯系统需求

(1)注册需求

①即时通讯系统允许多个用户注册;

②一个用户可以注册多个ID;

③注册所使用的帐号类型为数字或者字母;

④注册新用户时必须填写符合要求的信息。

(2)通讯需求

  ①用户可以传输文本消息;

②用户的消息可以中转至服务器;

③用户可以从服务器获取中转的好友消息;

(3)好友管理需求

①用户可以查询好友;

②用户可以添加好友;

③用户可以添加多个人为好友,一个用户可以被多个人添加为好友

④用户可以删除好友;

⑤用户可以将好友放在多个组中;

⑤用户的好友一次只能属于一个组。

(4)状态切换需求

①用户可以选择登录状态;

②登录完成后用户可以切换状态(在线,隐身);

③用户可以注销登录。

(5)查看在线好友需求

①用户登录时列出所有在线好友;

②用户可以看到新近登录的好友;

③用户将不在看到临时登出的好友。

图4-1  即时通讯系统的一般模型

图4-2 即时通讯系统服务模型

图4-3 系统功能说明图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值