- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于PUSH技术的分析
PUSH技术的基本原理1、基本概念PUSH技术是一种基于客户服务器机制,由服务器主动的将信息发往客户端的技术。同传统的拉技术(PULL)技术相比,两者最主要的区别在于前者是由服务器主动发送信息,而后者则是由客户机主动请求信息。在PUSH应用中,服务器发送内容给客户机之前,没有明显的客户机请求。PUSH技术的本质在于让信息去主动的寻找用户,因此其优势在于信息的主动性和及时性。服务器向客户端主动发送消息或信息,这种需求在传统的桌面系统没有任何问题,因为客户端和服务器之间通常存在着持久的连接,这个连接可以双向传递各种数据。而基于HTTP协议的Web应用却不行。需要采取一定的技术解决方案,“服务器推”技术在现实应用中有一些解决方案,这些解决方案大致分为两类:一类需要在浏览器端安装插件,基于套接口传送信息,或是使用 RMI、CORBA 进行远程调用;而另一类则无须浏览器安装任何插件,基于 HTTP 长连接。PUSH技术实现方式1)传统轮询方式(1)使用meta刷新实现。这种方式将自动指示浏览器在指定秒数之后重新装载页面,从而支持简陋的轮询(polling)。例如在HTML文件中加入META HTTP-RQUIV=Refresh CONTENT=12,实际上就是HTTP头标告知浏览器每12秒更新一次文档。优点:不需要服务器端的配置。缺点:用户体验差;对服务器的压力很大,并且造成带宽的极大浪费。(2)基于Ajax轮询Ajax隔一段时间(通常使用JavaScript的setTimeout函数)就去服务器查询是否有改变,从而进行增量式的更新。但是间隔多长时间去查询成了问题,因为性能和即时性造成了严重的反比关系。间隔太短,连续不断的请求会冲垮服务器,间隔太长,服务器上的新数据就需要更多的时间才能到达客户机。优点:不需要太多服务器端的配置;降低带宽的负荷(因为服务器返回的不是完整页面)。缺点:对服务器的压力并不会有明显的减少;实时性差,有一定的延迟。2)Comet技术(基于HTTP长连接的“服务推送”技术)(1)基于AJAX的长轮询方式客户端发起一个ajax请求,服务端将请求搁置(pending)或者说挂起,直到到了超时时间(timeout)或需要推送时返回;客户端则等待ajax返回后处理数据,再发起下一个ajax请求。使用 AJAX 实现“服务器推”与传统的 AJAX 应用不同之处在于:(a)服务器端会阻塞请求直到有数据传递或超时才返回。(b)客户端 JavaScript 响应处理函数会在处理完服务器返回的信息后,再次发出请求,重新建立连接。(c)当客户端处理接收的数据、重新建立连接时,服务器端可能有新的数据到达;这些信息会被服务器端保存直到客户端重新建立连接,客户端会再一次把当前服务器端所有的信息取回。(2)基于 IFrame 及 htmlfile 的流(streaming)方式通过在 HTML 页面里嵌入一个隐蔵帧,然后将这个隐蔵帧的 SRC 属性设为对一个长连接的请求,服务器端就能源源不断地往客户端输入数据。即服务器阻断客户端的回应,服务器没有关闭回应而是一直保留着这个到客户端的输出流。优点:实时性好(消息延时小);性能好(能支持大量用户)缺点:长期占用连接,丧失了无状态高并发的特点。3)基于客户端套接口:(1)Flash/HTML5 WebSockets在 HTML 页面中内嵌入一个使用了 XMLSocket 类的 Flash 程序。JavaScript 通过调用此 Flash 程序提供的套接口接口与服务器端的套接口进行通信。JavaScript 在收到服务器端以 XML 格式传送的信息后可以很容易地控制 HTML 页面的内容显示。缺点:客户端必须安装 Flash 播放器;因为 XMLSocket 没有 HTTP 隧道功能,XMLSocket 类不能自动穿过防火墙;因为是使用套接口,需要设置一个通信端口,防火墙、代理服务器也可能对非 HTTP 通道端口进行限制。(2)Java Applet 套接口在客户端使用JavaApplet,通过.Socket或.DatagramSocket或.MulticastSocket 建立与服务器端的套接口连接,从而实现“服务器推送”。缺点:需要客户端安装JAVA虚拟机。以上三种形式中,前两种形式都是假PUSH技术,其本质还是从客户端发送相应的请求,服务器端根据请求再进行回应。而最后一种才是真正的PUSH,是服务器端主动向客户端发出信息。PUSH的测试要点1、产品业务级1)检查push消息是否按照指定的业务规则发送2)在不接受推送消息时,检查用户会不会再接收到push3)如果用户设置了免打扰的时间段,检查在免打扰时间段内,用户接收不到push,在非免打扰时间段,用户能正常收到push4)当push消息是针对登
您可能关注的文档
最近下载
- 《风景谈》精品课件.ppt VIP
- T11长轨列车卸轨作业指导书.pdf VIP
- 城市轨道交通交流供电系统的保护方式1城市轨道交通交流供电系.pptx VIP
- 《极简项目管理》读书笔记.pdf VIP
- 北京-绅宝D70-产品使用说明书-绅宝D70 2.3T-C7230C7G-绅宝产品使用说明书.pdf VIP
- 《地下工程防水技术规范》(GB50108-2008).pdf
- 2023 【小升初分班】小升初数学分班测试卷 (通用版,含答案).pdf VIP
- DLT 1253-2013 电力电缆线路运行规程.pdf VIP
- 商务谈判毕思勇课程教案.pdf VIP
- 信息处理技术员教程(第三版)第6章 演示文稿基础知识.pptx VIP
文档评论(0)