<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="Comet：基于 HTTP 长连接的“服务器推”技术" id="card1">
<p> 游客</p><p>
标题:Comet：基于 HTTP 长连接的“服务器推”技术<br/>
正文:<br/>
很多应用譬如监控、即时通信、即时报价系统都需要将后台发生的变化实时传送到客户端而无须客户端不停地刷新、发送请求。本文首先介绍、比较了常用的服务器推&amp;rdquo;方案，着重介绍了 Comet － 使用 HTTP 长连接、无须浏览器安装插件的两种服务器推&amp;rdquo;方案：基于 AJAX 的长轮询方式；基于 iframe 及 htmlfile 的流方式。最后分析了开发 Comet 应用需要注意的一些问题，以及如何借助开源的 Comet 框架－pushlet 构建自己的服务器推&amp;rdquo;应用。服务器推&amp;rdquo;技术的应用传统模式的 Web 系统以客户端发出请求、服务器端响应的方式工作。这种方式并不能满足很多现实应用的需求，譬如：    监控系统：后台硬件热插拔、LED、温度、电压发生变化；    即时通信系统：其它用户登录、发送信息；    即时报价系统：后台数据库内容发生变化；这些应用都需要服务器能实时地将更新的信息传送到客户端，而无须客户端发出请求。服务器推&amp;rdquo;技术在现实应用中有一些解决方案，本文将这些解决方案分为两类：一类需要在浏览器端安装插件，基于套接口传送信息，或是使用 RMI、CORBA 进行远程调用；而另一类则无须浏览器安装任何插件、基于 HTTP 长连接。将服务器推&amp;rdquo;应用在 Web 程序中，首先考虑的是如何在功能有限的浏览器端接收、处理信息：    客户端如何接收、处理信息，是否需要使用套接口或是使用远程调用。客户端呈现给用户的是 HTML 页面还是 Java applet 或 Flash 窗口。如果使用套接口和远程调用，怎么和 JavaScript 结合修改 HTML 的显示。    客户与服务器端通信的信息格式，采取怎样的出错处理机制。    客户端是否需要支持不同类型的浏览器如 IE、Firefox，是否需要同时支持 Windows 和 Linux 平台。基于客户端套接口的服务器推&amp;rdquo;技术Flash XMLSocket如果 Web 应用的用户接受应用只有在安装了 Flash 播放器才能正常运行， 那么使用 Flash 的 XMLSocket 也是一个可行的方案。这种方案实现的基础是：    Flash 提供了 XMLSocket 类。    JavaScript 和 Flash 的紧密结合：在 JavaScri<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=344&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=344&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=344&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=344&amp;Page=3">[3]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=344&amp;Page=9">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=344">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=344">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>