服务器推送技术学习

写这篇东东的目的:整理一些学习资源,不要太乱。

服务器推送技术概观:

服务器推送有以下几种技术:( 参考
A、使用插件的
(1)、Flash XMLSocket(感觉上是与xmlhttp的一样,不过是flash提供一个与后台交互的xmlhttp),不过需要浏览器安装flash播放器,而且防火墙不能禁掉该socket的端口。


(2)、java applet套接口 在客户端使用 Java Applet,通过 java.net.Socket 或 java.net.DatagramSocket 或 java.net.MulticastSocket 建立与服务器端的套接口连接,从而实现“服务器推”。
这种方案最大的不足在于 Java applet 在收到服务器端返回的信息后,无法通过 JavaScript 去更新 HTML 页面的内容。


B、不使用插件的应用——基于http长连接技术
(1)、基于 AJAX 的长轮询(long-polling)方式,感觉上类似定时器异步ajax访问后台,但是还是有些不一样——服务器端会阻塞请求直到有数据传递或超时才返回,然后不断地重建连接,等待后台准备数据(服务器这阶段会阻塞请求),数据传送,断开连接,重建连接。。。。。


(2)、基于 Iframe 及 htmlfile 的流(streaming)方式

iframe 是很早就存在的一种 HTML 标记, 通过在 HTML 页面里嵌入一个隐蔵帧,然后将这个隐蔵帧的 SRC 属性设为对一个长连接的请求,服务器端就能源源不断地往客户端输入数据。这种方式是,一旦建立连接,不会中断连接,这时数据可以在不断开连接的时间间隔内传送数据。不过通信异常或者超过防火墙的维持长连接的时限(会被丢弃),连接需要重建。


C、客户端远程调用服务器的方法,如dwr例子。


其实插件的也有其他的,如使用webSocket推送服务器消息,不过目前自己关注的还是基于http长连接技术——comet多种开源框架的学习。之前根据网上资料写了一个comet4J的demo例子,忽然觉得服务器推送的好强大啊。

现在先看comet两个框架先——Pushlet实例,还有comet4J先。


其他一些资源:

服务器推送技术详解 http://www.cnblogs.com/zhwl/archive/2011/10/05/2199275.html

消息推送技术http://88250.b3log.org/web-message-push

Web端服务器推送技术原理分析及dwr框架简单的使用 http://blog.csdn.net/shimiso/article/details/8151362

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值