我们使用ajax与后台服务进行交互,常常是通过触发事件来单次交互,但对于有些web应用来说,需要前台与后台保持长连接,前端不定时地接收后台推送的数据信息,例如:股票行情分析、聊天室和网页在线游戏等。 怎么做到呢? 最笨的方法: 前端 ...
我们使用ajax与后台服务进行交互,常常是通过触发事件来单次交互,但对于有些web应用来说,需要前台与后台保持长连接,前端不定时地接收后台推送的数据信息,
例如:股票行情分析、聊天室和网页在线游戏等。
怎么做到呢?
最笨的方法: 前端需要隔一段时间向服务器发送一次ajax,请求成本太昂贵呀,就好比,你每次约炮,都得开房,还是租一个便宜点儿房子合算。
所以不能这么做。
1.comet
原理:comet是基于HTTP长连接的服务器推送技术,是一种web应用架构,服务器会主动以异步的方式向客户端程序推送数据,而不需要客户端显示的发出请求,
当前端与服务器连接完一次后,保持长链接,让服务器来做推送,服务器利用缓存技术来实现
comet非常适合事件驱动的web应用,以及对交互性与实时要求很强的应用。
前端js代码
var xhr = (function(){ if(typeof undefined){ return new else{ return new ActiveXObject("Microsoft.) }})();xhr.open("GET", url, true);xhr.send(data);xhr.onreadystatechange = function(){ if(xhr.readyState == 3){ if(xhr.status == 200){ xhr.responseText; } }};
原标题:javascript之数据推送
关键词:JavaScript
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。