基于.NET平台的聊天程序毕业论文.doc
摘 要随着网络技术的不断发展,网络聊天技术正成为目前产业界和科研机构密切关注的焦点基于网络的聊天技术已成了近年来新兴的聊天交流方式网络聊天是在20世纪90年代发展起来的,它是在原有的面对面等通过动态声音为信息载体的基础上,增加了非接触式的通过静态文字为载体的交流方式其限制性比较低,避免了沟通上的一线制约因素;聊天系统就是提供了这些服务的具有动态交互功能的管理信息系统,它实现了一个网络上的在线聊天;用户可以在聊天信息系统并根据自己的喜好和性格进行自己的交流方式和寻找朋友这样,使用户足不出户就可随时随地地与人交流,摆脱了传统交流方式在时间和空间的局限性,以及传统交流个人自身的因素的局限性,极大丰富了人们的网络生活随着互联网的迅速崛起,C/S结构的系统可以在任何一台的计算机上使用,系统的部署和维护只是在服务器上进行,这样的模式既能减少管理的成本,更重要的是它能很方便的实现用户与系统的交互,更快地响应用户信息交互请求,加之微软C#编程语言的提出,众所周知,C#在窗体应用上的优势以及平台的独立性好、简便的窗体生成为C/S的实现提供了很好的技术基础由此,利用互联网覆盖面积广的优势,建立一个基于C/S结构的网络聊天系统,提供以聊天为主的网络服务,来满足用户根据自己的意愿和沟通需求及其方便程度的追求,丰富用户的网络生活和日常交际手段,必将受到越来越多用户的青睐关键词:网络聊天;C#;互联网;C/S结构AbstractABSTRACTWith the development of network technology network chat technology is become the industry and scientific research institutions close attention. Based on network chat technology in recent years has become the emerging chat communication. Network chat is in the 1990s, it was developed in the original face to face for such information carrier by dynamic voice, on the basis of increased non-contact through the static text as the carrier type of communication. Its restrictive is lower, avoid the gleam of restraining factors in communication; Chat system is providing these services with dynamic interaction function of the management information system, it achieved a network of on-line chat; Users can chatting in information system and the be fond of according to oneself and character in his own way to communicate and find friends. Such user never leave home, can communicate with people anywhere at any time, from the traditional way of communication in time and space, and the limitations of traditional exchange individual factors, enriched the limitations of the network life people. As the Internet's rapid rise, C/S structure of system can be in any one computer use, the system's deployment and maint enance just on file server, such a model can not only reduce the cost management, more important is it can e asily achieve user and system interaction, to respond more quickly to user information interaction request, together with Microsoft C # programming languages, as is known to all, put forward the application form on the C # the independence of the advantages and platform, simple form was born the realization of becoming C/S, provide good technology foundation. Thus, using the Internet to coverage area wide advantage, build a based on C/S structure of network chat system, and provide the network service mainly to chat to satisfy the users, according to his own will and communication needs and convenient degree of pursuit, rich user's network life and daily communication means, will gets more and more users favor. Keywords: online chat; C #; The Internet; C/S structure 目 录摘 要IABSTRACTI目 录II第1章 绪论11.1 选题背景及意义11.2网络聊天简介11.3系统设计思想21.4 可行性分析21.5系统运行环境2第2章 相关技术概述32.1 .NET Framewok框架结构概述32.1.1 .NET Framework框架结构简介32.1.2 .NET Framework三部分内容介绍32.2 C#概述52.2.1 效率与安全性62.2.2 C#编译器Visual Studio62.3 WINFORM简介72.3.1 WINFORM的特点72.4客户端/服务器( Client/Server)结构概述72.4.1 C/S结构简介72.4.2 C/S模式的优点、缺点82.5 SOCKET编程技术92.6 SQL Server 2005概述102.7 ADO.NET技术10第3章 需求分析113.1 系统需求分析113.2 系统功能需求113.3 数据处理需求123.4 系统性能需求12第4章 系统分析与设计134.1 系统功能模块设计134.2 系统模块详细设计134.2.1 客户端功能模块设计134.2.2 服务器端功能模块设计164.3 系统整体流程图16第5章 数据库设计195.1 概述195.2 数据库概念结构设计195.3 数据库逻辑结构设计205.3.1 用户信息实体属性图205.3.2 用户好友关系信息实体属性图205.4 数据表设计215.5 创建数据的存储过程21第6章 系统详细设计与实现226.1 系统通用类设计236.1.1数据库表结构类设计236.1.2 服务器端模块数据库表操作类设计236.1.3 对数据库操作的封装246.2 界面及功能设计246.2.1 服务器主界面246.2.2 客户端界面256.3 系统实现过程中遇到的问题与解决326.3.1 Socket套接字异常问题326.3.2 多线程问题32第7章 结论与展望347.1结论347.2不足之处及未来展望34参考文献35致 谢373535基于 .NET平台的聊天程序设计第1章 绪论1.1 选题背景及意义Internet是目前世界上最大的计算机互联网络,它遍布全球,将世界各地各种规模的网络连接成一个整体作为Internet上一种先进的,易于被人们所接受的信息检索手段,World Wide Web(简称WWW)发展十分迅速,成为目前世界上最大的信息资源宝库如今,人们不仅可以在网上查询自己需要的资源,而且可以通过网络进行实时的沟通从实时性和有效性上都超过了用信件和 EMail,并且在费用上要低于电话因而各种聊天服务备受用户青睐,在这方面的开发与应用也较多,聊天服务也成为互联网提供的重要服务之一,因此,建立一个好的在线交流聊天系统十分重要互联网的大多数网站都建有聊天室,并且有专业聊天网站提供聊天服务然而QQ等聊天工具虽然方便、实用,但是,娱乐功能太多,有很多吸引人的娱乐功能,从一定程度上来说,是一种娱乐工具,不能作为用于作为即时通讯、文件共享的专用工具目前,用于实现单一的即时通讯、文件共享的软件实在太少,并且,它们中大部分都是绝对的C/S模式,对远程服务器有非常大的依赖性,没有彻底实现点对点的交流在网络越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网络,由此而产生的聊天工具越来越多,类似QQ、网络聊天时一类的聊天系统的发展日新月异但是,同时QQ等现有的聊天程序也存在着很大的问题比如,我在使用QQ的时候,就对他发的各种“广告”深恶痛绝对于登陆后时不时弹出的打扰窗口,很是厌烦因此我在本次作业的激励下,产生了一个制作类似QQ的网络聊天工具并且“无垃圾信息”洁净聊天工具的想法,而且希望通过制作该程序还能更好的学习网络软件编程知识1.2网络聊天简介网络聊天,英文简称NC(Network chat ),指的是按照用户的要求播放视频NC有很广泛的含义,包含了娱乐、教育、商业等领域的多种应用,如游戏聊天( Chat In Game)、在线语音聊天(Online voice chat)、离线文件传输(Offline file transfer)和远程教学( Long Distance Learning)等网络聊天是在20世纪90年代发展起来的,它是在原有的面对面等通过动态声音为信息载体的基础上,增加了非接触式的通过静态文字为载体的交流方式其限制性比较低,避免了沟通上的一线制约因素;聊天系统就是提供了这些服务的具有动态交互功能的管理信息系统,它实现了一个网络上的在线聊天;用户可以在聊天信息系统并根据自己的喜好和性格进行自己的交流方式和寻找朋友这样,使用户足不出户就可随时随地地与人交流,摆脱了传统交流方式在时间和空间的局限性,以及传统交流个人自身的因素的局限性,极大丰富了人们的网络生活1.3系统设计思想聊天系统利用.Net平台的Winform技术和数据库技术,提供以文字聊天为中心的网络文本传输服务,系统采用C#作为编程语言技术,结合C/S结构模式,能动态实现与用户的交互,满足用户添加好友和修改用户信息等需求,以及后台管理员对系统信息管理的需求1.4 可行性分析计算机网络作为一种先进的信息传输媒体,有着信息传送速度快、信息覆盖面广、成本低的特点随着信息技术的发展,利用C#技术结合数据库技术来实现一个聊天系统,提供以文字聊天为中心的网络文本传输服务,能更贴切的满足用户根据自己的意愿进行无打扰的聊天的需求,也必将受到用户的青睐但是,开发任何一个基于计算机的系统,都会受到时间和资源上的限制因此,在开发系统前必须进行可行性分析,以减少项目的开发风险,避免人力、物力和财力的浪费可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题能否解决对在聊天系统的可行性分析如下:1、经济可行性分析:成本较低,系统建设不需要很大的投入,系统更新时也只需更新服务器端程序,方便维护2、技术可行性分析:系统采用.NET开发平台,.NET Framework是.NET平台的基本框架,具有强大的API,给系统奠定了技术基础系统采用C#.NET技术,结合C/S结构模式,能够方便实现用户与系统的动态交互,以及方便信息的维护等3、运行上可行性:本系统作为一个小型的聊天系统,所耗费的资源非常的小综上所述通过可行性分析认为新系统的开发方案切实可行,可进行开发1.5系统运行环境系统开发环境:Microsoft Visual Studio 2005系统开发语言: C#运行平台:Windows7数据库:SQL Server 2005第2章 相关技术概述2.1 .NET Framewok框架结构概述2.1.1 .NET Framework框架结构简介.NET Framework 是一个集成在 Windows 中的组件,它支持生成和运行下一代应用程序与 XML Web Services.NET Framework 旨在实现下列目标:提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在 Internet 上分布,或者是在远程执行的提供一个将软件部署和版本控制冲突最小化的代码执行环境提供一个可提高代码(包括由未知的或不完全受信任的第三方创建的代码)执行安全性的代码执行环境提供一个可消除脚本环境或解释环境的性能问题的代码执行环境使开发人员的经验在面对类型大不相同的应用程序(如基于 Windows 的应用程序和基于 Web 的应用程序)时保持一致按照工业标准生成所有通信,以确保基于 .NET Framework 的代码可与任何其他代码集成.NET Framework 的目的就是要建立Web Services 以及因特网应用程序的工作变的简单,它就相当于微软Web Services 引擎许多程序设计师和使用者,非常渴望有一个完善而且透明清楚的基础架构,来建立Web Services(因特网服务).NET Framework 就是为了这个需求而提供的基础架构.NETFramework 提供了应用程序模型及关键技术,让开发人员容易以原有的技术来产生、布署,并可以继续发展具有高安全、高稳定,并具高延展的Web Services对于.NET Framework 而言,所有的组件都可以成为Web Services,Web Services 只不过是另一种型态的组件罢了微软将COM(Component Object Model,组件对象模型)的优点整合进来,它可以不用像COM 那么严谨的来栓锁两个对象,.NET Framework 以松散的方式来栓锁Web Services 这种型态的组件这样的结果让开发人员非常容易的发展出强而有力的Web 服务组件,提高了整体的安全及可靠性,并且大大的增加系统的延展性2.1.2 .NET Framework三部分内容介绍.NET Framework 包括了三大部分:第一个部分是Common Language Runtime(CLR,公共语言运行时),第二部分是共享对象类别库(提供所有.NET 程序语言所需要的基本对象),第三个部分是重新以组件的方式写成的ASP.NET其中公共语言运行时(CLR)和 .NET Framework 类库是.NET Framework的两个主要组件.NET Framework 的类库,是一个综合性的面向对象的可重用类型集合,可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面 (GUI) 应用程序,也包括基于 ASP.NET 所提供的最新创新的应用程序(如 Web 窗体和 XML Web Services)Common Language Runtime Common Language Runtime(CLR,公共语言运行时)架构在操作系统的服务上,它是.NET Framework 的基础它负责应用程序实际的执行,满足所有的应用程序的需求;例如内存管理、处理安全问题、整合不同的程序语言等等Runtime供了许多帮助程序写作的简化,以及应用程序的部署并同时加强程序稳定可靠的一些服务Common Language Runtime结构图,如图2-1所示:图2-1 Common Language Runtime结构图 想要执行由某种特定程序语言所开发出来的程序,计算机内部必需装置这种特定程序语言的执行时期(Runtime)组件才可以.为什么Runtime 组件如此重要?这是因为Runtime组件内部有该种程序语言所需要的一些核心功能,例如提供该种语言所需要的基本函式及对象等等;所以当程序在执行时会动态的连结到Runtime 组件,取得所需要的功能.但是不同的程序语言所需要的Runtime 不一样,所以会造成程序设计师在开发时的困难.所以为了要解决上述的问题,.NET Framework 在发展时,设计了让所有.NET 的程序语言共同使用的Runtime 组件,这个组件的名称就叫做Common Language Runtime(CLR)CLR 是一个高效率的执行引擎,程序代码的执行是由Runtime 所管理,Runtime 负责的工作有产生对象、方法(methods)的呼叫等等,Runtime 也可以提供程序代码一些额外的服务我们把要透过CLR 的控制才能执行的程序代码称ManagedCode.共享类库 .NET 提供了一个让.NET 所有程序语言使用的共享对象类别库,这个对象类别库提供了几组统一、对象导向、结构化以及可扩充的对象类别库,协助程序设计师快速的开发软件.共享对象类别库中提供了许多对象,包括集合、IO、数据型态等等,也提供一些对象类别可以存取操作系统服务,例如绘图、讯息、网络、执行绪与数据存取等等.程序设计师可以直接建立.NET 共享对象类别库所提供的对象,也可以呼叫共享对象类别库的功能,或者藉由继承某个对象的功能来扩充自己建立的对象. 共享类库对象类别如图2-2所示:图2-2 共享类库包含的对象类别ASP.NET ASP.NET 是共享对象类别库中的一员,ASP.NET 提供了一个Web 应用程序模型这个模型提供了一些窗体、控件及基础架构,让程序设计师简单的建立Web 应用程序ASP.NET 提供了一些对应HTML 元素(例如按钮、清单盒等)的HTML 控件(HTML Control)以及功能更强的Web 控件(Web Controls);这些控件在客户端执行,然后在客户端的浏览器以HTML 元素的方式显示.这种HTML 控件在客户端以对象导向的方式被程控,让程序设计师享受到对象导向程序写作的优点,简化程序的复杂性. ASP.NET结构图,如图2-3所示: 图2-3 ASP.NET结构2.2 C#概述C sharp(又被简称为"C#")是微软公司在二OOO年六月发布的一种新的编程语言,并定于在微软职业开发者论坛(PDC)上登台亮相.C#是微软公司研究员Anders Hejlsberg的最新成果.C#看起来与Java有着惊人的相似;它包括了诸如单一继承,界面,与Java几乎同样的语法,和编译成中间代码再运行的过程.但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NET windows网络框架的主角微软c#语言定义主要是从C和C+继承而来的,而且语言中的许多元素也反映了这一点C#在设计者从C+继承的可选选项方面比Java要广泛一些(比如说structs),它还增加了自己新的特点(比方说源代码版本定义).但它还太不成熟,不可能挤垮Java、C#还需要进化成一种开发者能够接受和采用的语言而微软当前为它的这种新语言大造声势也是值得注意的2.2.1 效率与安全性新兴的网络经济迫使商务企业必须更加迅速的应对竞争的威胁开发者必须不断缩短开发周期,不断推出应用程序的新版本,而不仅仅是开发一个“标志性”的版本C#在设计时就考虑了这些问题它使开发者用更少的代码做更多的事,同时也不易出错支持现有的网络编程新标准新的应用程序开发模型意味着越来越多地解决方案依赖于新出现的网络标准,例如HTML,XML,SOAP等现存的开发工具往往都是早于Internet出现的,或者是在我们所熟知的网络还处于孕育期时出现的所以,它们一般无法很好地支持最新的网络技术C#程序员可以在Microsoft .NET平台上事半功倍的构建应用程序的扩展框架C#包含了内置的特性,使任何组件可以轻松转化为XML网络服务,通过Internet被任何操作系统上运行的任何程序调用更突出的是,XML网络服务框架可以使现有的XML网络服务对程序员来说就和C#对象一样这样,程序员就可以方便地使用他们已有的面向对象的编程技巧来开发利用现有的XML网络服务还有一些精细的特性,使得C#成为一流的网络编程工具例如,XML正逐渐成为在网络上传输结构化数据的标准这种数据集合往往非常小为提高性能,C#允许把XML数据直接映射到struct数据类型,而不是class这样对处理少量的数据非常有效2.2.2 C#编译器Visual StudioVisual Studio 是微软公司推出的开发环境,Visual Studio 可以用来创建 Windows 平台下的 Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和 Office 插件Visual Studio 提供了高级开发工具、调试功能、数据库功能和创新功能,帮助在各种平台上快速创建当前最先进的应用程序Visual Studio包括各种增强功能,例如可视化设计器(使用 .NET Framework 3.5 加速开发)、对 Web 开发工具的大量改进,以及能够加速开发和处理所有类型数据的语言增强功能Visual Studio为开发人员提供了所有相关的工具和框架支持,帮助创建引人注目的、令人印象深刻并支持 AJAX 的 Web 应用程序开发人员能够利用这些丰富的客户端和服务器端框架轻松构建以客户为中心的 Web 应用程序,这些应用程序可以集成任何后端数据提供程序、在任何当前浏览器内运行并完全访问 ASP NET 应用程序服务和 Microsoft 平台2.3 WINFORM简介Windows窗体也称为WinForms,可以创建应用程序的用户界面,并使用任何一种.NET支持的语言编写应用程序的功能WinForms应用程序一般都有一个或者多个窗体提供用户与应用程序交互窗体可包含文本框、标签、按钮等控件大型WinForms应用程序有许多窗体,一些用于获取用户输入的数据,一些用于向用户显示数据,一些窗体会有变形、透明等其他效果甚至让你看不出他的真实面目2.3.1 WINFORM的特点Windows窗体的一些重要特点如下:1.简单强大:Windows窗体可用于设计窗体和可视控件,以创建丰富的基于Windows的应用程序2.新的数据提供程序管理:数据提供程序管理提供易于连接OLEDB和ODBC数据源的数据控件,包括Microsoft SQL Server、Microsoft Access、Jet、DB2以及Oracle等3.安全:Windows窗体充分利用公共语言运行库的安全特性这就意味着,一切都可以通过Windows窗体来实现,包括在浏览器中运行的不可信控件和用户硬盘上安装的完全可信的应用程序4.灵活的控件:Windows窗体提供了一套丰富的控件,并且开发人员可以定义自己有特色的新的控件方便的数据显示和操作:应用程序开发中最常见的情形之一是在窗体上显示数据Windows窗体对数据库处理提供全面支持可以访问数据中的数据,并在窗体上显示和操作数据 5.向导:向用户提供创建窗体、数据处理、打包和部署等的分布指导2.4客户端/服务器( Client/Server)结构概述2.4.1 C/S结构简介C/S(Client/Server)结构,即大家熟知的客户机和服务器结构它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统这也就是目前应用系统的发展方向传统的CS体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件支持由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用而且代价高,效率低如图2-1和图2-2所示:Client客户端Server服务器数据库图2-1 C/S结构图图2-2 客户机服务器通信结构示图2.4.2 C/S模式的优点、缺点(1)应用服务器运行数据负荷较轻最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序二者可分别称为前台程序与后台程序运行数据库服务器程序的机器,也称为应用服务器一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户应用程序运行在用户自己的电脑上,对应于数据库服务器,可称为客户电脑,当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果,应用服务器运行数据负荷较轻(2)数据的储存管理功能较为透明在数据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的,前台应用可以违反的规则,并且通常把那些不同的(不管是已知还是未知的)运行数据,在服务器程序中不集中实现,例如访问者的权限,编号可以重复、必须有客户才能建立定单这样的规则所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)背后的过程,就可以完成自己的一切工作在客户服务器架构的应用中,前台程序不是非常“瘦小”,麻烦的事情都交给了服务器和网络在C/S体系的下,数据库不能真正成为公共、专业化的仓库,它受到独立的专门管理(3)C/S架构的劣势是高昂的维护成本且投资大首先,采用C/S架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,有这样一些问题,如果需要建立“实时”的数据同步,就必须在两地间建立实时的通讯连接,保持两地的数据库服务器在线运行,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大其次,传统的C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,由于产品的更新换代十分快,代价高和低效率已经不适应工作需要在JAVA这样的跨平台语言出现之后,B/S架构更是猛烈冲击C/S,并对其形成威胁和挑战2.5 SOCKET编程技术Microsoft.Net Framework为应用程序访问Internet提供了分层的、可扩展的以及受管辖的网络服务,其名字空间System.Net和System.Net.Sockets包含丰富的类可以开发多种网络应用程序.Net类采用的分层结构允许应用程序在不同的控制级别上访问网络,开发人员可以根据需要选择针对不同的级别编制程序,这些级别几乎囊括了Internet的所有需要-从socket套接字到普通的请求/响应,更重要的是,这种分层是可以扩展的,能够适应Internet不断扩展的需要抛开ISO/OSI模型的7层构架,单从TCP/IP模型上的逻辑层面上看,.Net类可以视为包含3个层次:请求/响应层、应用协议层、传输层WebReqeust和WebResponse 代表了请求/响应层,支持Http、Tcp和Udp的类组成了应用协议层,而Socket类处于传输层传输层位于这个结构的最底层,当其上面的应用协议层和请求/响应层不能满足应用程序的特殊需要时,就需要使用这一层进行Socket套接字编程而在.Net中,System.Net.Sockets 命名空间为需要严密控制网络访问的开发人员提供了 Windows Sockets (Winsock) 接口的托管实现System.Net 命名空间中的所有其他网络访问类都建立在该套接字Socket实现之上,如TCPClient、TCPListener 和 UDPClient 类封装有关创建到 Internet 的 TCP 和 UDP 连接的详细信息;NetworkStream类则提供用于网络访问的基础数据流等,常见的许多Internet服务都可以见到Socket的踪影,如Telnet、Http、Email、Echo等,这些服务尽管通讯协议Protocol的定义不同,但是其基础的传输都是采用的Socket其实,Socket可以象流Stream一样被视为一个数据通道,这个通道架设在应用程序端(客户端)和远程服务器端之间,而后,数据的读取(接收)和写入(发送)均针对这个通道来进行可见,在应用程序端或者服务器端创建了Socket对象之后,就可以使用Send/SentTo方法将数据发送到连接的Socket,或者使用Receive/ReceiveFrom方法接收来自连接Socket的数据;针对Socket编程,.NET 框架的 Socket 类是 Winsock32 API 提供的套接字服务的托管代码版本其中为实现网络编程提供了大量的方法,大多数情况下,Socket 类方法只是将数据封送到它们的本机 Win32 副本中并处理任何必要的安全检查.2.6 SQL Server 2005概述SQL Server 是一个关系数据库管理系统.SQL Server 2005 的特性有:1.Internet 集成.SQL Server 2005 数据库引擎提供完整的XML 支持.它还具有构成最大的Web 站点的数据存储组件所需的可伸缩性、可用性和安全功能SQL Server 2005 程序设计模型与 Windows DNA 构架集成,用以开发 Web 应用程序,并且SQL Server 2005 支持 English Query 和 Microsoft 搜索服务等功能,在Web 应用程序中包含了用户友好的查询和强大的搜索功能. 2.可伸缩性和可用性.同一个数据库引擎可以在不同的平台上使用,从运行 Microsoft Windows® 98 的便携式电脑,到运行 Microsoft Windows 2005 数据中心版的大型多处理器服务器.SQL Server 2005企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大 Web 站点所需的性能级别. 3.企业级数据库功能.SQL Server 2005关系数据库引擎支持当今苛刻的数据处理环境所需的功能.数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小.SQL Server 2005 分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是 SQL Server 2005 数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性.复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步.可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器. 4.易于安装、部署和使用. SQL Server 2005 中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用 SQL Server 的过程.SQL Server 2005 还支持基于标准的、与 Windows DNA 集成的程序设计模型,使 SQL Server 数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分.这些功能使您得以快速交付 SQL Server 应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序.2.7 ADO.NET技术ADO.NET是在.NET Framework平台中负责数据存储的对象ADO.NET是Active Data Objects2.6(ADO)的后续版本ADO.NET的主要目的是可以在.NET Framework中更容易的创建分布式的数据共享的应用程序ADO.NET建立在如XML的业界的基础之上,就像ADO,它提供了一个数据访问接口,以便和OLE DB兼容的数据源进行通信,如SQL Server或Oracle应用程序可以使用ADO.NET连接这些数据源,并检索,处理和更新数据;使用ADO.NET最重要的理由是可以获取一个真正断开连接的数据体系结构和XML的紧密集成和一个通用的数据表示法,可以将各种不同数据源中的数据组合起来,并优化了和数据库交互的功能,同样ADO.NET和NET.Framework的其它部分紧密的集成在一起,并充分利用NET.Framework中所有对象的层结构及设计模式ADO.NET建立在ADO的基础之上,而且为数据访问工具集提供了许多工具第3章 需求分析3.1 系统需求分析为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求对软件需求的深入理解是软件开发工作获得成功的前提条件,不论我们把设计和编码工作做得如何出色,不能真正满足用户需求的系统只会令用户失望,给开发者带来烦恼.网络聊天的出现,最初是源于人们对远程通信、远程帮助的需求发展到现在的远程群聊、远程教育、远程控制以及语音聊天和视屏聊天.在传统的聊天中,要求人们面多面的聊天近距离的的沟通.虽然可以通过电话进行远程没接触式的聊天,但是这种聊天费用高昂,对于对身体的健康也有一定的影响而且电话聊天对于偏远地区效果并不好,在当今如此快节奏的生活中,在高速发展的信息经济中,用户没能在恰当的时间通过交流接受到自己有用的信息是常有发生的事情.这对于用户的日常生活会产生极大影响