websocket 在web 实时通信领域的研究

websocket 在web 实时通信领域的研究

ID:22023206

大小:273.50 KB

页数:5页

时间:2018-10-26

websocket 在web 实时通信领域的研究_第1页
websocket 在web 实时通信领域的研究_第2页
websocket 在web 实时通信领域的研究_第3页
websocket 在web 实时通信领域的研究_第4页
websocket 在web 实时通信领域的研究_第5页
资源描述:

《websocket 在web 实时通信领域的研究》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、WebSocket在Web实时通信领域的研究基金项目:上海市高新技术产业化重点项目计划-基于第三代移动通讯网的移动互联网应用和服务平台作者简介:李代立(1986--),男,山东省济宁市人,硕士研究生,研究方向:嵌入式操作系统、系统软件支撑技术;陈榕(1957--),男,北京人,博士生导师,教授,中心主任,科泰世纪首席科学家,研究方向:嵌入式系统,构件技术。李代立,陈榕(同济大学基础软件工程中心上海200092)摘要:分析目前几种Web实时事件响应方案的特点,着重研究基于HTML5WebSocket的实时通信机制,并通过W

2、ebSocket与AJAX长轮询的实验对比,展示WebSocket在Web实时通信领域的应用开发方法和效率,为Web实时通信提供低延时、低网络吞吐量的解决方案。关键词:WebSocket;Web实时通信;AJAXTheResearchofWebSocketBasedonWebReal-timeCommunicationLIDai-li,CHENRong(SystemSoftwareEngineeringCentreofTongjiUniversity,Shanghai200092,China)Abstract:Somes

3、chemesandtheirfeaturesareintroducedonwebreal-timecommunications.Moreemphasisisputonstudyingreal-timecommunicationmechanismbasedonHTML5WebSocket.ThenacomparativeexperimentismadebetweenWebSocketandAJAXtorepresentthesimplemethodandhighefficiencyindevelopingreal-time

4、webapplicationsbyWebSocket.Atlastweprovidealowlatencyandlownetworkthroughputsolution.Keywords:WebSocket;Webreal-timecommunication;AJAX0.引言在Web应用高速发展的今天,Web即时数据通信变得越加强烈。HTTP协议[1]是Web实时通信的基础,浏览器与服务端建立连接浪费了大量时间和网络吞吐量,加重了服务端负担。HTML5WebSocket的实现使Web应用不需要每次都发起HTTP请求来建立

5、与服务端的连接,而是仅在第一次请求连接后就建立起TCPSocket连接,从而基本做到通信的时时响应,提高了通信效率。1.传统Web实时通信方案1.1HTTP拉取方式如图1所示,左侧为传统的web应用模型,可以通过设置""标签定时Request实现HTTPPull,右侧为AJAXWeb应用模型,可以通过XMLHttpRequest定时取服务器端数据实现。-5-图1传统Web应用模型与AjaxWeb应用模型该方案健壮易用的特点使其经常被应用于Web系统中,例如,Adap

6、tiveTTR[3]机制允许服务器改变TTR,客户端便能够依据数据的状态改变以不同频率来拉取数据。因此,这种动态TTR机制比静态TTR模式更好。但它并不能完全保证的数据精确度,会带来不必要的网络流量。1.2HTTP流HTTP流是1992年网景公司推出的push机制,叫“动态文档”[4]。有两种形式:页面流和服务流。页面流是指页面上不间断的HTTP连接响应。大部分Web服务器处理发送完响应之后立即退出。但这种情况下,连接通过很长的循环来保持打开状态,服务器脚本利用事件注册或者其他技术来侦测数据状态的改变。当状态改变时,数据

7、进行传输,但传输完并不会直接关闭连接。服务流依赖于XMLHttpRequest对象,在AJAX技术下被称做ReverseAJAX或者Comet[5]。服务流是XMLHttpRequest在后台的长连接,它在连接长度和频率上带来了灵活性。页面会一次性正常加载,数据流的连接可以在预定义的生命周期内。服务器会像页面流中一样不停的循环,浏览器读取最新响应以更新内容。1.3Comet和BAYEUX协议Comet允许服务端发送消息到客户端而无需客户端显示的请求。由于AJAX应用缺少通信标准,在Cometdgroup[8]草拟了一个叫

8、BAYEUX的Comet协议。BAYEUX的消息格式是基于JavaScript语言子集的数据交互格式的,该协议已经被许多Web服务端实现。但Comet的绊脚石在于各浏览器对XHR、iFrames两种实现Comet所需数据块的支持程度不尽相同,没有统一的实现标准。另外,无论是从网络还是开发角度来看,Comet管理两个连

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。