分类目录归档:服务器端

【转】HTTP长连接的“服务器推”技术(3) – 讨论

晨:    目前我对comet技术的总体印象是:如果仅限于单向推送数据,那么comet无疑是有效的。 对于双向较频繁交换数据,comet技术会退化成最简单的轮询。 我和方荣的共同想法都认为在双向通讯的时候这样做效率太差。 目前覆盖最广泛的技术里解决这一问题最有效的是Flash AS3中新增的Socket。Socket解决了XMLSocket的一些技术障碍,并且可以使用raw binary data。 理论上可以实现一个通用的Flash长连接组件。

发表在 服务器端 | 标签为 , , , , | 留下评论

【转】HTTP长连接的“服务器推”技术(2) – 转载

基于 Iframe 及 htmlfile 的流(streaming)方式 iframe 是很早就存在的一种 HTML 标记, 通过在 HTML 页面里嵌入一个隐蔵帧,然后将这个隐蔵帧的 SRC 属性设为对一个长连接的请求,服务器端就能源源不断地往客户端输入数据。 图 3. 基于流方式的服务器推模型 上节提到的 AJAX 方案是在 JavaScript 里处理 XMLHttpRequest 从服务器取回的数据,然后 Javascript 可以很方便的去控制 HTML 页面的显示。同样的思路用在 iframe 方案的客户端,iframe 服务器端并不返回直接显示在页面的数据,而是返回对客户端 Javascript 函数的调用,如“”。服务器端将返回的数据作为客户端 JavaScript 函数的参数传递;客户端浏览器的 Javascript 引擎在收到服务器返回的 JavaScript 调用时就会去执行代码。 从图3可以看到,每次数据传送不会关闭连接,连接只会在通信出现错误时,或是连接重建时关闭(一些防火墙常被设置为丢弃过长的连接, … 继续阅读

发表在 服务器端 | 标签为 , , , , | 留下评论

【转】HTTP长连接的“服务器推”技术(1) – 转载

转载地址:http://www.builder.com.cn/2007/0904/488393.shtml 很多应用譬如监控、即时通信、即时报价系统都需要将后台发生的变化实时传送到客户 端而无须客户端不停地刷新、发送请求。本文首先介绍、比较了常用的“服务器推”方案,着重介绍了 Comet - 使用 HTTP 长连接、无须浏览器安装插件的两种“服务器推”方案:基于 AJAX 的长轮询方式;基于 iframe 及 htmlfile 的流方式。最后分析了开发 Comet 应用需要注意的一些问题,以及如何借助开源的 Comet 框架-pushlet 构建自己的“服务器推”应用。 “服务器推”技术的应用 传统模式的 Web 系统以客户端发出请求、服务器端响应的方式工作。这种方式并不能满足很多现实应用的需求,譬如: 监控系统:后台硬件热插拔、LED、温度、电压发生变化; 即时通信系统:其它用户登录、发送信息; 即时报价系统:后台数据库内容发生变化; 这些应用都需要服务器能实时地将更新的信息传送到客户端,而无须客户端发出请求。“服务器推”技术在现实应用中有一些解决方案,本文将这些解决方案 分为两类:一类需要在浏览器端安装插件,基于套接口传送信息,或是使用 RMI、CORBA 进行远程调用;而另一类则无须浏览器安装任何插件、基于 HTTP 长连接。 将“服务器推”应用在 Web 程序中,首先考虑的是如何在功能有限的浏览器端接收、处理信息: 客户端如何接收、处理信息,是否需要使用套接口或是使用远程调用。客户端呈现给用户的是 HTML 页面还是 Java applet … 继续阅读

发表在 服务器端 | 标签为 , , , , | 留下评论