【问题标题】:Is Comet still immature?彗星还不够成熟吗?
【发布时间】:2011-08-13 12:05:15
【问题描述】:

我正在考虑编写一个需要能够将消息推送到浏览器的实时网络应用程序。当我第一次读到 Comet 时,由于浏览器支持不足,人们似乎认为它是一种脆弱且不成熟的方法。今天,它似乎是一种既定且实用的技术。但据我所知,现在浏览器对基本方法(长轮询、iframe 和脚本标签)的支持并不比 06 年这个想法刚流行时更好。

当然,在服务器端管理所有这些连接很困难,但 Comet 框架解决了这个问题(甚至在 06 年使用 Twisted 之类的东西也是可行的)。那么问题是什么:浏览器中的 Comet 支持是否存在任何破坏交易的问题,还是当时的人们错了?

另外:我最近阅读了一篇约 2010 年的博客文章,其中总结了 Comet 技术的状态,详细介绍了每种方法。这听起来好像没有一种方法是真正可行的。这篇文章很有说服力,这就是为什么我仍然对彗星感到不安。关于这个博客,我唯一能记住的是它有一个深色的背景(棕色或黑色)。有其他人看过那个帖子吗?我真的很想再读一遍。

【问题讨论】:

    标签: comet maturity


    【解决方案1】:

    我认为 Comet 现在非常可行,每个浏览器都支持长轮询,因此您有一个仍然可以工作的通用后备方案,并且每个浏览器中都有比长轮询更高效的方法。

    您只是不经常看到它,因为在每个浏览器中支持不同的方法是一项艰巨的任务,google 和 facebook 有资源来做到这一点,但您的普通 joe web 开发人员。将浪费大量时间而获得很少的收益。只有这么多应用程序您真正需要彗星提供的实时通信。

    我认为现在有了像 APE 和 cometD 这样的框架,它们为您提供后端和客户端实用程序,您会看到更多人能够承担复杂的任务。无论如何也不能不成熟,彗星只是一种以非常新颖的方式利用现有能力的技术。

    【讨论】:

    • +1;我为 Frozen Mountain (www.frozenmountain.com) 工作,我们有一个用于 .NET 的彗星服务器实现。因此,我在这个世界上度过了很多时间。 Comet 是完全可行的,只要你有正确的实现。浏览器支持很好,只要(正如安德鲁所说)你能正确地回退。由于 HTTP 保持活动和 TCP 连接重用,长轮询实际上也非常高效。安德鲁说得好。
    【解决方案2】:

    我认为浏览器在彗星方面没有太大变化,一切都保持在几年前的样子。它的所有hackiness完好无损。 WebSockets 将是最终的答案,因此浏览器制造商并不急于修复 commet,但该“标准”仍在不断变化。

    【讨论】:

    • 毫无疑问,它仍然是 hacky,但我曾经看到人们说它在生产中甚至不可行。现在它无处不在(Meebo、Facebook 聊天、Gmail 中的聊天、Plurk),我再也听不到了。但是,是的,客户端实际上没有任何改变。所以我想知道这笔交易是什么。
    猜你喜欢
    • 2011-04-14
    • 1970-01-01
    • 1970-01-01
    • 2012-01-23
    • 2010-11-24
    • 1970-01-01
    • 1970-01-01
    • 2010-12-22
    • 1970-01-01
    相关资源
    最近更新 更多