是“长轮询”创建Web实时应用的最有效方法是什么?
-
19-09-2019 - |
题
解决方案
有关现在,长轮询可能是最好的解决方案。众多大牌网站有长轮询的实现,包括Facebook,谷歌和eBay。并不是每个人都安装了Flash /在浏览器中启用。今后网络套接字或许能为我们做的是一个更容易的工作。
<强>更新强>在撰写本文时,所述网页套接字API 一>在最新的WebKit(铬/ Safari浏览器)和Firefox 4测试实施。还有歌剧院的公共快照生成可供下载与API的实现。这意味着测试API获得广泛应用。有关详细信息,请参阅此答案。
其他提示
所有不同的方法有不同的优点和缺点,我不是分歧的专家,这就是为什么我会建议更换你的避免选择后,避免了开发和调整,每方法包括,避免在现有技术的未来变化,使用的库抽象使用强>的运输方法,并选择最好的方法基于客户机能力(即,作为HTML5网页插座的到来。):
这美妙的库,使创建实时的应用程序非常简单!和有各种服务器端实现:Python的(龙卷风),爪哇,谷歌GO,机架(红宝石),除了在Node.js的(服务器端JavaScript)的主流执行
我不认为长轮询是做彗星最有效的方式。无论如何,它发送响应后得到新的HTTP请求。它的成本比HTTP流传输多个额外的HTTP请求。
不过,长轮询可能会更可靠,比HTTP流更容易实现。根据这一文章在谷歌代码,HTTP流如果中间HTTP代理缓存的内容可能无法发挥作用。
有趣的是,Gmail不使用长轮询。与HTTP嗅探器的帮助下,很显然,它使用HTTP流的彗星。
不隶属于 StackOverflow