《服务器推送技术.ppt》由会员分享,可在线阅读,更多相关《服务器推送技术.ppt(15页珍藏版)》请在三一办公上搜索。
1、服务器推送技术(Comet),议题,简介应用举例服务器推送(Server Push)方式Comet应用实现模型与客户端拉曳(ClientPull)的比较comet优缺点实现了comet的相关开源框架pushlet简介pushlet优缺点pushlet广电项目的实际应用,简介,服务器推送技术的基础思想是将浏览器主动查询信息改为服务器主动发送信息。服务器发送一批数据,浏览器显示这些数据,同时保证与服务器的连接。当服务器需要再次发送一批数据时,浏览器显示数据并保持连接。以后,服务器仍然可以发送批量数据,浏览器继续显示数据,依次类推。,应用举例,监控系统:报警提示;即时通信系统:其它用户登录、发送信息
2、;即时报价系统:后台数据库内容发生变化;实现基于web的实时事件通知。,服务器推送(Server Push)方式,基于客户端套接口:采用RMI、CORBA或者自定义TCP/IP信息的applet来实现。Comet:基于 HTTP 长连接、无须在浏览器端安装插件的技术。,Comet应用实现模型,基于 AJAX 的长轮询(long-polling)即服务端阻断前一次对客户端的回应,在事件发生后将事件内容绑定在回应中返回给客户端,同时回应结束,此时客户端立即发送第二次请求,服务器阻塞回应等待下一次事件发生。基于 Iframe 及 htmlfile 的流(streaming)方式 通过在 HTML 页
3、面里嵌入一个隐蔵帧,然后将这个隐蔵帧的 SRC 属性设为对一个长连接的请求,服务器端就能源源不断地往客户端输入数据。即服务器阻断客户端的回应,服务器没有关闭回应而是一直保留这这个到客户端的输出流。,与客户端拉曳(ClientPull)的比较,客户端拉曳:客户端定时去查询服务器上的最新数据。,优缺点,与客户端拉拽方式对比 优点:服务器完全能够控制客户端更新数据的时间和频率。缺点:保持连接状态会浪费服务器端的资源。服务器推送还比较容易中断。,实现了comet的相关开源框架,pushletdwrcometD,pushlet简介,工作原理:通过servlet(或者JSP)把JavaScript代码作为
4、HTTP流推送到浏览器。这些代码被浏览器的JavaScript引擎解释并完成一些有趣的工作。于是便轻松地完成了从server端的Java到浏览器中的JavaScript的回调。,Pushlet优缺点,优点:(1)直接与浏览器中的DHTML集成。(2)标准的HTTP端口和协议:消息和RMI/CORBA使用非标准端口(相对HTTP标准端口而言),遇到“防火墙”、“禁止回调”、“禁止接收UDP数据”的浏览器安全限制时可能无法工作。(3)client负载:基于CORBA/RMI的Java applet使client在启动时更加沉重,并消耗更多的资源。(4)无需额外的server:消息和RMI/CORB
5、A需要单独的server产品。Pushlet理论上可以在任何server引擎上运行,并具备连接管理和多线程能力。,缺点:(1)跨越浏览器的DHTML:Pushlet需要使用能工作在任何平台、所有浏览器版本的DHTML库。(2)可测量性:当100个以上的client通过Pushlet连接到server时,server上的线程和socket资源都将出现紧张。而解决这一问题的方式就是使用单独的Pushlet服务器。(3)Web server问题:一般的web server往往不是为长连接而设计的。针对这一问题的解决方案与上面的可测量性相同。(4)代理缓存:一些代理服务器可能缓存HTTP数据。,Pushlet项目实际应用,广电三期项目的服务器异常报警和专项任务疑似违规节目报警。,谢谢,