基于ajax的网络聊天室本科学位论文.doc
《基于ajax的网络聊天室本科学位论文.doc》由会员分享,可在线阅读,更多相关《基于ajax的网络聊天室本科学位论文.doc(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、华北电力大学科技学院本科毕业设计(论文)I基于Ajax的网络聊天室的设计与实现摘 要如何更好地与他人沟通是人们普遍关心的问题。人们通过网站可以展示产品,了解与用户和合作伙伴的最新发展,交流和沟通,建立联系和开展电子商务。在线聊天系统作为一个网站的重要组成部分,为人与人之间的交流和交往提供了一个平台。传统的互联网聊天室,以显示在线用户和用户信息的实时传送,需要定期刷新页面。刷新页面,不仅要占用一定的系统资源和网络带宽,也会出现“白屏”现象,这对良好的用户体验是非常不利的。 Ajax是一个新的web应用,使用Ajax技术的发展不仅解决了页面刷新带来的白屏问题,也减少了对服务器和网络传输的负载。本系
2、统采用了A Ajax技术,数据库服务器端采用了SQL Server 2008作为数据库的开发,用C#语言编写的无刷新的网络聊天室。关键词:Ajax;网络聊天室;无刷新;异步交互DESIGN AND IMPLEMENTATION OF AJAX-BASED CHAT ROOMAbstractHow to communicate better with others is the general interest. Through the website can show the products, the latest developments, exchange and communicati
3、on with users and partners to establish contacts and e-commerce. Online chat system constitute an important part of the site, to provide a platform for exchanges and contacts between people.Traditional Internet chat rooms in order to display online users and user messages sent in real time, the need
4、 to regularly refresh the page. Page refresh not only to take up some system resources and network bandwidth, but there is also a black and white phenomenon is very detrimental to a good user experience. Ajax is a new web application, the chat room system using Ajax technology development not only s
5、olved the page refreshes bring black and white issues, but also reduce the load on the server and network transmission.The system uses the A Ajax technology, database server-side SQL Server 2008 as database development, written in C # refresh network chat rooms.Key Words: Ajax;Internet chat rooms;No
6、fresh;Asynchronous interactionII目录摘 要IAbstractII1 绪论11.1 系统现状11.2 国内外主要研究成果11.3 课题的主要内容及章节安排32系统开发环境和关键技术32.1 系统的开发环境42.2 关键技术42.2.1 A技术42.2.2 Ajax技术62.2.2 A Ajax技术112.2.3 数据库技术112.2.4 C#语言123系统分析与设计123.1 系统分析133.1.1 聊天室功能需求分析133.1.2 聊天室功能性能分析133.2 系统运行环境133.3 系统设计133.3.1 系统结构133.3.2 实体及数据库实现153.3.3
7、 后台功能模块153.3.4 流程图153.3.5 客户端与服务器端的相关设计164 系统实现184.1 聊天界面184.2 登录界面184.3 前台界面195 系统测试205.1 测试意义205.2 测试目标205.3测试方法205.4 测试用例20结 论22致 谢24231 绪论1.1 系统现状 在人们的生活中,信息技术的飞速发展正在发生深刻变化。人与人之间的对话是不再局限于面对面,网上聊天室提供了信息交流的另一个地方。传统的聊天室,以显示在线用户和用户信息的实时传送,需要定期刷新页面。刷新页面,不仅要占用一定的系统资源和网络带宽,也会出现“白屏”的现象,这对良好的用户体验是非常不利的。而
8、使用Ajax技术开发的聊天室,不仅可以解决页面刷新带来白屏的问题,也减少了对服务器和网络传输的负载。随着互联网应用的普及,web应用以其良好的扩展性、易于部署、维护方便等优点逐渐成为软件开发的主流。早期的Web应用采用的是同步交互过程【1】,即用户首先向Web服务器提交一个请求或行为呼叫,服务器接收到客户请求后执行相应处理操作,最后向用户返回处理结果。服务器在处理请求时【2】【3】,用户处于等待状态,有时如果超过了服务器响应时间,甚至返回“页面不可用”等提示。另外,当我们只想改变页面的部分数据时,用户的请求会导致服务器重新返回整个页面内容,包括那些没有改变的数据,这不但增加了网络传输的数据量,
9、还影响了客户端的响应时间,为什么我们不能“按需”获取数据呢?Ajax技术可以很好的解决上述web应用中存在的问题。Ajax技术是Web2.0的核心之一,本质上是一种RIA(RichIllternet Application)技术。RIA是指具有高度互动性和丰富用户体验的网络应用程序,它既具有消息确认、无刷新页面之下提供快捷的界面响应、拖放式等桌面应用程序的特点,同时又具有部署简单、跨平台等Web应用程序的特点。Ajax技术提供了客户端与服务器异步通信的能力【6】,从而使用户从请求一响应一再请求【3】的循环中解脱出来,同时降低了网络传输的数据量,提高了客户端的响应速度,改善了用户使用体验,使得w
10、eb应用可以接近甚至达到类似“桌面应用”的效果。而Ajax有上述优势,例如Google Suggest,Gmail,Google Map等等交互程序中都使用了异步通讯技术。不知不觉中,Ajax应用程序占据了整个网络的每一个角落。纵观所有的应用程序,更好的用户体验是其的共同目标,在浏览器中实现桌面用户界面体验是Web开发的一种趋势。Ajax技术从谷歌到IBM,甲骨文,雅虎,BEA系统公司,红帽,Novell公司获得业界众多的IT巨头的支持,其快速发展是值得期待的。技术创新和标准化是Ajax技术发展的必由之路,而W3C已成立了工作小组,专门从事Ajax的规范发展工作。1.2 国内外主要研究成果Aj
11、ax技术的精髓是用异步交互替代了传统的同步交互,所以当用户操作时间大于服务器响应时间的时候,使用Ajax的效果非常明显。而当程序性能的瓶颈在于服务器响应时间的时候,Ajax无法解决程序运行缓慢的问题。因此,Ajax是更适合在网络上的互动频繁轻量级的应用程序。在Ajax开发的应用程序中,Google公司成功将Ajax技术应用到他们的商业产品。Google地图和Google Suggest都应用了这项技术。当用户使用谷歌地图查看地图(包括地图的缩放和平移地图),并没有提交任何请求到服务器,你就可以浏览到地图的各个部分。在这里,它是Ajax技术的应用,使得地图是不刷新的方式,但每个显示原始数据的基础
12、上以增量方式显示。在这种方式下,用户觉得就像是在自己的计算机上查看本地的地图。微软也在积极开发Ajax应用程序:它将Ajax技术应用到的MSN Space上面。当用户使用MSN Space提交回复评论时,浏览器会暂时停顿,然后刷新显示用户提交的评论,这是应用了Ajax的原理。目前,Ajax应用最普遍的领域是GIS-Map方面。GIS的区域搜索强调快速响应,Ajax 的特点正好符合这种要求。在应用Ajax技术开发过程当中,处于核心位置的Ajax引擎实际上是一些复杂的JavaScript程序【7】。 随着网络应用和界面表现的复杂化,使用面向过程的JavaScript 语言描述表现逻辑将会变得很困难
13、。同时, JavaScript的兼容性和调试都会成为使用Ajax技术的一个障碍。为了解决这些问题,开发人员已经开发出了一些基于Ajax技术的框架,方便了开发人员使用,有利于Ajax 技术的进一步推广。当然,任何技术都是有局限性的,Ajax也不例外。Ajax更新页面无需刷新重载【9】【10】,这也使传统的一些用户交互行为变得不可用,如后退、前进和刷新等。另外,移动设备(如手机、PDA等)现在还不能很好的支持Ajax,Ajax 对流媒体的支持也没有Java Applet和Flash这样成熟的技术好。 因此,一些辅助的平台和插件的开发也将是Ajax技术应用当中重要的一部分。Ajax把大量的运算从服务
14、器转移到了客户端浏览器,这意味着浏览器将承受更大的负担,而不再是简单的文档显示功能【8】。聊天室作为一个能够吸引人气的栏目,在现代网络应用中随处可见。它的作用是给不同的用户提供一个交流信息的场所。用户在聊天室中可以发布信息,就如同所有用户都在一个个真正室内聊天一样。 传统的聊天室程序一般设置在客户端的网页自动刷新。刷新在这样的数据会带来一些缺点,例如:每次刷新服务器应该重新获取数据【14】,大大提高了服务器上的负载,此刷新过程正在进行,这将是非常严重的影响服务器的性能;每次刷新过程中会产生大量无用数据,不断刷新页面,用户在客户端方面,将导致屏幕闪烁。解决屏幕闪动最重要的一条原则就是,将改动的地
15、方显示到客户端,而那些不需要改动的地方则尽量不要让用户感觉到变化。一个更好的解决办法是使用Ajax技术的无刷新聊天室应用【16】。现在的聊天室通过四个主要功能模块实现了聊天室中用户登录、注销、环境设置、发送消息、读取消息和查看在线用户列表等。聊天室系统为用户提供了聊天场所,操作员可对后台网站的风格、广告链接等进行设置;用户可以根据个人的习惯选择字体、文字颜色和表情等;前台聊天室具有私聊的功能,私聊的内容仅供私聊双方查看;聊天者可自己手动清除聊天内容。操作员可通过客户端处理模块获取界面元素从而得到聊天内容或与服务器交互更新客户端页面响应用户事件。服务器端响应模块可提供聊天室界面元素信息获得提交数
16、据或数据合法性的验证。1) 基于CGI2) 基于JavaScript3) 基于ACTIVEX 4) 基于ASP的实现方案等在此列举了这四种方案的独到之处,场合选用,及各自所存在的缺点。PHP(Personal Home Page)是英文“超级文本预处理语言”(PHP:Hyper text Preprocessor)的缩写,是Rasmus Lerdorf推出的一种跨平台无缝运行服务器端的HTML嵌入式脚本语言,它混合了C,JAVA,Perl语言,主要用于Web服务器端的计算以及文字、文本处理。其最强大和最重要的特征是数据库集成层,可完成一个含有数据库的网功能的网页。MySQL是一个小型关系型数据
17、库管理系统,其拥有体积小、速度快、总体拥有成本低,开放源码,支持多种操作系统,支持多线程,充分利用CPU,优化SQL提高查询速度提供TCP/IP、ODBC和JDBC等多种数据库连接途径的优点。就是把每个连上同一网页的用户传送的发言数据储存起来,然后将所有的发言数据传给每一用户。也就是说,用数据库汇集每个人的发言,并将数据库中的数据传给每一个人就实现了聊天室的功能。为了优化聊天室的后台数据库聊天室系统需要五个数据表:1) 聊天信息表 (chatInfo)2) 用户信息表 (UserInfo)3) 网站风格信息表 (Stylfo)4) 广告信息表 (AdvInfo)5) 广告链接表 (AdvLin
18、k)1.3 课题的主要内容及章节安排现在,多渠道的信息源、网络化的数据分布、快捷医用的交互操作、智能化的分析决策等特点越来越成为衡量优良聊天软件的关键,因此,该网络聊天室是基于C#语言运行于VS平台上,利用的技术主要是A,使用配置文件作为数据管理。为实现和方便客户端间通信,在客户端进行了人性化的界面设计,用户可以注册号码,登陆界面,具有私聊消息功能。第1章对本次课题的背景及意义、课题现状、课题内容与目标进行了深入的阐述。第 2 章介绍了系统的开发环境和关键技术,例如A技术,数据库开发,C#等等。第 3 章是系统分析与设计。将对系统进行需求分析,对组成系统的功能模块进行划分,对每个模块将要实现的
19、功能进行阐述和说明。对系统的结构进行设计,设计共享数据结构。第4章是系统实现,分别介绍了服务器端和客户端每个功能的执行过程,画出主要模块的流程图。第 5 章介绍系统测试。最后,对本设计进行归纳总结,全面阐述本次设计中的体会。2 系统开发环境和关键技术2.1 系统的开发环境VS2010开发工具(如图1.1)以及Microsoft SQL Server 2008(如图1.2)图1.1 VS2010开发工具图1.2 SQL Server 20082.2 关键技术2.2.1 A技术ASP.NET的前身ASP技术,是在IIS 2.0上首次推出,当时与 ADO 1.0 一起推出,在IIS 3.0发扬光大,
20、成为服务器端应用程序的热门开发工具,微软还特别为它量身打造了Visual InterDev开发工具,在1994年到2000年之间,ASP技术已经成为微软推展Windows NT 4.0平台的关键技术之一,数以万计的ASP网站也是这个时候开始如雨后春笋般的出现在网络上。它的简单以及高度可定制化的能力,也是它能迅速崛起的原因之一。不过ASP的缺点也逐渐的浮现出来: 意大利面型的程序开发方法,让维护的难度提高很多,尤其是大型的ASP应用程序。 直译式的VBScript或JScript语言,让效能有些许的受限。 延展性因为其基础架构扩充性不足而受限,虽然有COM元件可用,但开发一些特殊功能(像文件上传
21、)时,没有来自内置的支持,需要寻求第三方软件商开发的元件。 1997年时,微软开始针对ASP的缺点(尤其是意大利面型的程序开发方法)准备开始一个新项目来开发,当时ASP.NET的主要领导人Scott Guthrie刚从杜克大学毕业,他和IIS团队的Mark Anders经理一起合作两个月,开发出了下一代ASP技术的原型,这个原型在1997年的圣诞节时被发展出来,并给予一个名称:XSP,这个原型产品使用的是Java语言。不过它马上就被纳入当时还在开发中的CLR平台,Scott Guthrie事后也认为将这个技术移植到当时的CLR平台,确实有很大的风险(huge risk),但当时的XSP团队却是
22、以CLR开发应用的第一个团队。 为了将XSP移植到CLR中,XSP团队将XSP的内核程序全部以C#语言重新撰写(在内部的项目代号是 Project Cool,但是当时对公开场合是保密的),并且改名为ASP+,作为ASP技术的后继者,并且也会提供一个简单的移转方法给ASP开发人员。ASP+首次的Beta版本以及应用在PDC 2000中亮相,由Bill Gates主讲Keynote(即关键技术的概览),由富士通公司展示使用COBOL语言撰写ASP+应用程序,并且宣布它可以使用Visual Basic.NET、C#、Perl与Python语言(后两者由ActiveState公司开发的互通工具支持)来
23、开发。 在2000年第二季时,微软正式推动.NET策略,ASP+也顺理成章的改名ASP.NET,经过四年的开发,第一个版本的ASP.NET在2002年1月5日亮相(和.NET Framework 1.0),Scott Guthrie也成为ASP.NET的产品经理(到现在已经开发了数个微软产品,像ASP.NET AJAX和Microsoft Silverlight)。目前最新版本的 ASP.NET 4.0 及 .NET Framework 4.0 已经在VS2010平台内应用。A开发模式的优点世界级的工具支持 A架构师可以用Microsoft公司最新的产品Visual S开发环境进行开发,这些仅
24、是A强大化软件支持的一小部分。强大性和适应性因为ASP.net是基于通用语言的编译运行的程序,所以它的强大性和适应性,可以使它运行在Web应用软件开发者的几乎全部的平台上。通用语言的基本库,消息机制,数据接口的处理都能无缝的整合到ASP.net的Web应用中。ASP.net同时也是language-independent(语言独立化)的,所以,你可以选择一种最适合你的语言来编写你的程序,或者把你的程序用很多种语言来写,现在已经支持的有C#(C+和Java的结合体),VB,Jscript , C+、F+。将来,这样的多种程序语言协同工作的能力保护您现在的基于COM+开发的程序,能够完整的移植向A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ajax 网络 聊天室 本科 学位 论文
限制150内