【问题标题】:An explanation needed of the Comet and long polling concept (Especially the hidden iframe technique)需要解释 Comet 和长轮询概念(尤其是隐藏 iframe 技术)
【发布时间】:2011-09-03 11:55:45
【问题描述】:

我确实了解它的基本思想。但是我见过的大多数实现除了让我感到困惑之外什么也没做——我发现自己无法完全理解 Comet 和长轮询的概念……简单地说,我要求对这些想法进行简单的解释。我对隐藏 iframe 轮询技术的解释特别感兴趣。什么被执行,什么被请求等等。

另外,与经典的 ajax 方法相比,它有哪些优势? (除了减少流量和更实时的感觉)。

谢谢。

【问题讨论】:

    标签: iframe comet long-polling


    【解决方案1】:

    following article 很好地解释了该技术。核心思想基于chunked transfer encoding HTTP 技术。页面中包含一个隐藏的 iframe,它指向使用分块编码的服务器端脚本。在分块编码中,响应不会一次性完全发送并且流关闭。服务器没有提前说明要发送多少数据,因此浏览器保持通道打开。然后,当服务器想要将一些数据推送到客户端时,它只需发送一个代表 javascript 函数的响应块。浏览器在客户端接收并执行这个函数。这样,当某些事件发生时,服务器可以成功推送信息,例如服务器上的某些数据更改,...

    另外,与经典的 ajax 相比,它的真正优势是什么? 方法? (除了减少流量和更实时的感觉)。

    这些优势还不够吗?流量减少意味着应用程序响应速度更快。你知道吗,像谷歌和亚马逊这样的大型网站进行了研究,并明确限制了他们的服务器,以便将响应时间增加几毫秒。我不记得确切的,但他们是公然的:他们这样做后失去了大约 70% 的客户。请记住:Web 应用程序最重要的特性(不仅仅是顺便说一句)是它的响应能力。

    所以它基本上是拉(阿贾克斯)与推(彗星)。当客户端数量开始增加时,PUSH 技术可以更好地扩展。

    【讨论】:

    • 我想我应该重新表述一下——除此之外还有其他优点吗?将修复帖子。
    • @Seiryuu,基本上是 PULL (Ajax) 与 PUSH (Comet) 方法。当客户端数量增加时,PUSH 方法可以更好地扩展。
    猜你喜欢
    • 1970-01-01
    • 2012-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-10
    • 2011-05-29
    相关资源
    最近更新 更多