Polling 、Long Polling 和 WebSocket】的更多相关文章

polling & long polling 参考:http://stackoverflow.com/questions/11077857/what-are-long-polling-websockets-server-sent-events-sse-and-comet   1.轮询(Polling)是指不管服务器端有没有更新,客户端(通常是指浏览器)都定时的发送请求进行查询,轮询的结果可能是服务器端有新的更新过来,也可能什么也没有,只是返回个空的信息.不管结果如何,客户端处理完后到下一个定时时…
comet:(原意:彗星) Comet is a web application model in which a long-held(held:保留) HTTP request allows a web server to push data to a browser, without the browser explicitly requesting it.[1][2] Comet is an umbrella term,(概括词) encompassing multiple techniq…
一.简单介绍ceilometer 这里长话短说, ceilometer是用来采集openstack下面各种资源的在某一时刻的资源值,比如云硬盘的大小等.下面是官网现在的架构图 这里除了ceilometer的架构图,还有另外三个组件: Panko 用来存储事件的, 后面用来实现cloudkitty事件秒级计费也是我的工作之一,目前实现来一部分,有时间单独在写一篇博文. gnocchi是用来存储ceilometer的计量数据,之前的版本是存在mongo中, 不过随着计量数据的不断累计, 查询性能变得…
WebSocket出现之前 在线聊天室.在线客服系统.评论系统.WebIM等这些应用有一个共同点,就是用户不需要去刷新浏览器就能够从服务器获得最新的数据,这就用到了推送技术. WebSocket出现之前,实现推送一般有两种方式,polling与comet. 1.polling是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP request,然后由服务器返回最新的数据给客户端的浏览器.这种方式下浏览器需要不断的向服务器发出请求,然而HTTP request的header是非常长的,里…
过去我们想要实现一个实时Web应用通常会考虑采用ajax轮循或者是long polling技术,但是因为频繁的建立http连接会带来多余的请求以及消息精准性的问题,让我们在实现实时Web应用时头疼不已.现在,Html5提出了WebSocket协议来规范解决了这个问题. ajax轮询,long polling技术实现原理 ajax轮询 ajax轮询非常简单了,就是在客户端设置一个定时器,频繁的去请求接口,看有没有数据返回,但是这样很明显会有很多的多余请求,导致服务器压力巨大.. long poll…
实时更新技术能够应用在很多场景中,比如在浏览器中聊天.股票报价.状态更新.现场直播.这些需求对时间的延迟性都很敏感,但是我们可以发现他们存在这共有的共性. 标准的HTTP请求,是一次请求对应一次相应.这就意味着服务器不能发送一个新消息给某一个浏览器.为了解决这些问题,有下面四种解决策略.traditional polling,long polling.HTTP streaming和websocket protocol    具体细节可以查看https://spring.io/blog/2012/…
Http被设计成了一个单向的通信的协议,即客户端发起一个request,然后服务器回应一个response.这让服务器很为恼火:我特么才是老大,我居然不能给小弟发消息... 轮询 老大发火了,小弟们自然不能无动于衷,为了能及时获得老大的消息,小弟们只好每隔一段时间跑去老大那里问问,有没有新的指示发出.这便是最早实现实时获得服务器数据的技术轮询(Polling). 客户端通过ajax不停去向服务器获得数据,检查是否有新的数据更新.这种使用轮询实现一种伪实时的状态很容易,但效率偏低,一般而言,这种实…
對 Comet 的懵懂 記得兩年多前,第一次看到 Gmail 中的 GTalk 覺得很好奇:「咦?線上聊天且是 Google 的熱門系統,只用傳統的 AJAX 應該會操爆伺服器吧?」很幸運的,當時前公司內部的 Tech Talk 就有位同事分享這個叫 Comet 的技術.是種「為了讓瀏覽器與伺服器頻繁溝通所使用的技術.主要的瓶頸在於 WWW 伺服器上.」但因為工作沒有用到這類的需求.加上找不太到好的入門文章.實作的人不多,因此我對 Comet 的認識一直停留在懵懂的階段. 這一年多,會自動更新的…
Http被设计成了一个单向的通信的协议,即客户端发起一个request,然后服务器回应一个response.这让服务器很为恼火:我特么才是老大,我居然不能给小弟发消息... 轮询 老大发火了,小弟们自然不能无动于衷,为了能及时获得老大的消息,小弟们只好每隔一段时间跑去老大那里问问,有没有新的指示发出.这便是最早实现实时获得服务器数据的技术轮询(Polling). 客户端通过ajax不停去向服务器获得数据,检查是否有新的数据更新.这种使用轮询实现一种伪实时的状态很容易,但效率偏低,一般而言,这种实…
最近在学习研究WebSocket,了解到Polling 和Long Polling,翻阅了一些博文,根据自己的理解,做个学习笔记 Polling (轮询): 这种方式就是客户端定时向服务器发送http的Get请求,服务器收到请求后,就将最新的数据返回给客户端,客户端再进行显示,如此反复这一过程: 这种方式虽然可以满足需求,但是也存在些问题:比如客户端每一分钟向服务器发送http的get请求,而在这一分钟里,服务器并没有数据更新,就会将老的数据返回给客户端显示, 这样不仅浪费网络宽带而且也浪费了c…