基于Ajax的网络聊天室
摘 要
如何更好地与他人沟通是人们普遍关心的问题。人们通过网站可以展示产品,了解与用户和合作伙伴的最新发展,交流和沟通,建立联系和开展电子商务。在线聊天系统作为一个网站的重要组成部分,为人与人之间的交流和交往提供了一个平台。
传统的互联网聊天室,以显示在线用户和用户信息的实时传送,需要定期刷新页面。刷新页面,不仅要占用一定的系统资源和网络带宽,也会出现"白屏"现象,这对良好的用户体验是非常不利的。 Ajax是一个新的web应用,使用Ajax技术的发展不仅解决了页面刷新带来的白屏问题,也减少了对服务器和网络传输的负载。
本系统采用了Asp.net Ajax技术,数据库服务器端采用了SQL Server 2008作为数据库的开发,用C#语言编写的无刷新的网络聊天室。
关键词:Ajax;网络聊天室;无刷新;异步交互
DESIGN AND IMPLEMENTATION OF AJAX-BASED CHAT ROOM
Abstract
How to communicate better with others is the general interest. Through the website can show the products, the latest developments, exchange and communication 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 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 solved the page refreshes bring black and white issues, but also reduce the load on the server and network transmission.
The system uses the Asp.net Ajax technology, database server-side SQL Server 2008 as database development, written in C # refresh network chat rooms.
Key Words: Ajax;Internet chat rooms;Nofresh;Asynchronous interaction
目录
摘 要 I
Abstract II
1 绪论 1
1.1 系统现状 1
1.2 国内外主要研究成果 1
1.3 课题的主要内容及章节安排 3
2系统开发环境和关键技术 3
2.1 系统的开发环境 4
2.2 关键技术 4
2.2.1 Asp.net技术 4
2.2.2 Ajax技术 6
2.2.2 Asp.net Ajax技术 11
2.2.3 数据库技术 11
2.2.4 C#语言 12
3系统分析与设计 12
3.1 系统分析 13
3.1.1 聊天室功能需求分析 13
3.1.2 聊天室功能性能分析 13
3.2 系统运行环境 13
3.3 系统设计 13
3.3.1 系统结构 13
3.3.2 实体及数据库实现 15
3.3.3 后台功能模块 15
3.3.4 流程图 15
3.3.5 客户端与服务器端的相关设计 16
4 系统实现 18
4.1 聊天界面 18
4.2 登录界面 18
4.3 前台界面 19
5 系统测试 20
5.1 测试意义 20
5.2 测试目标 20
5.3测试方法 20
5.4 测试用例 20
结 论 22
致 谢 24
1 绪论
1.1 系统现状
在人们的生活中,信息技术的飞速发展正在发生深刻变化。人与人之间的对话是不再局限于面对面,网上聊天室提供了信息交流的另一个地方。传统的聊天室,以显示在线用户和用户信息的实时传送,需要定期刷新页面。刷新页面,不仅要占用一定的系统资源和网络带宽,也会出现"白屏"的现象,这对良好的用户体验是非常不利的。而使用Ajax技术开发的聊天室,不仅可以解决页面刷新带来白屏的问题,也减少了对服务器和网络传输的负载。
随着互联网应用的普及,web应用以其良好的扩展性、易于部署、维护方便等优点逐渐成为软件开发的主流。早期的Web应用采用的是同步交互过程【1】,即用户首先向Web服务器提交一个请求或行为呼叫,服务器接收到客户请求后执行相应处理操作,最后向用户返回处理结果。服务器在处理请求时【2】【3】,用户处于等待状态,有时如果超过了服务器响应时间,甚至返回"页面不可用"等提示。另外,当我们只想改变页面的部分数据时,用户的请求会导致服务器重新返回整个页面内容,包括那些没有改变的数据,这不但增加了网络传输的数据量,还影响了客户端的响应时间,为什么我们不能"按需"获取数据呢?Ajax技术可以很好的解决上述web应用中存在的问题。Ajax技术是Web2.0的核心之一,本质上是一种RIA(RichIllternet Application)技术。RIA是指具有高度互动性和丰富用户体验的网络应用程序,它既具有消息确认、无刷新页面之下提供快捷的界面响应、拖放式等桌面应用程序的特点,同时又具有部署简单、跨平台等Web应用程序的特点。Ajax技术提供了客户端与服务器异步通信的能力【6】,从而使用户从请求一响应一再请求【3】的循环中解脱出来,同时降低了网络传输的数据量,提高了客户端的响应速度,改善了用户使用体验,使得web应用可以接近甚至达到类似"桌面应用"的效果。
而Ajax有上述优势,例如Google Suggest,Gmail,Google Map等等交互程序中都使用了异步通讯技术。不知不觉中,Ajax应用程序占据了整个网络的每一个角落。纵观所有的应用程序,更好的用户体验是其的共同目标,在浏览器中实现桌面用户界面体验是Web开发的一种趋势。Ajax技术从谷歌到IBM,甲骨文,雅虎,BEA系统公司,红帽,Novell公司获得业界众多的IT巨头的支持,其快速发展是值得期待的。技术创新和标准化是Ajax技术发展的必由之路,而W3C已成立了工作小组,专门从事Ajax的规范发展工作。
1.2 国内外主要研究成果
Ajax技术的精髓是用异步交互替代了传统的同步交互,所以当用户操作时间大于服务器响应时间的时候,使用Ajax的效果非常明显。而当程序性能的瓶颈在于服务器响应时间的时候,Ajax无法解决程序运行缓慢的问题。因此,Ajax是更适合在网络上的互动频繁轻量级的应用程序。在Ajax开发的应用程序中,Google公司成功将Ajax技术应用到他们的商业产品。Google地图和Google Suggest都应用了这项技术。当用户使用谷歌地图查看地图(包括地图的缩放和平移地图),并没有提交任何请求到服务器,你就可以浏览到地图的各个部分。在这里,它是Ajax技术的应用,使得地图是不刷新的方式,但每个显示原始数据的基础上以增量方式显示。在这种方式下,用户觉得就像是在自己的计算机上查看本地的地图。微软也在积极开发Ajax应用程序:它将Ajax技术应用到的MSN Space上面。当用户使用MSN Space提交回复评论时,浏览器会暂时停顿,然后刷新显示用户提交的评论,这是应用了Ajax的原理。目前,Ajax应用最普遍的领域是GIS-Map方面。GIS的区域搜索强调快速响应,Ajax 的特点正好符合这种要求。在应用Ajax技术开发过程当中,处于核心位置的Ajax引擎实际上是一些复杂的JavaScript程序【7】。 随着网络应用和界面表现的复杂化,使用面向过程的JavaScript 语言描述表现逻辑将会变得很困难。同时, JavaScript的兼容性和调试都会成为使用Ajax技术的一个障碍。为了解决这些问题,开发人员已经开发出了一些基于Ajax技术的框架,方便了开发人员使用,有利于Ajax 技术的进一步推广。当然,任何技术都是有局限性的
上一篇:
基于Ajax的Web聊天系统设计与实现
下一篇:
2018年汽车自驾运动营地攻防箭大赛总决赛圆满落幕