【问题标题】:Comet, long polling with jquery tutorial [closed]Comet,使用 jquery 教程进行长轮询 [关闭]
【发布时间】:2010-10-15 08:45:56
【问题描述】:

我希望通过使用 ajax 和 jquery 将彗星长轮询功能添加到我的网站,因为我不熟悉 javascript 原型框架。然而,当我搜索这个时,我似乎总是以使用原型框架的教程结束。有谁知道基于 jquery 和 ajax 的彗星长轮询的综合教程?

【问题讨论】:

    标签: javascript jquery ajax


    【解决方案1】:

    这是一个使用 jQuery 的 Comet 教程 http://screenr.com/SNH
    Code 在本教程中使用

    【讨论】:

    • 它在该教程中不断运行的循环,是不是服务器很重?
    • 这太棒了。我现在知道如何做基本的彗星了......甜:)
    • 感谢您的代码,它看起来很棒,但我要问一件事:如果我关闭浏览器会发生什么,我怀疑 while 循环仍然可以工作,并假设用户关闭浏览器之后在接下来的一个小时左右,服务器没有任何变化,所以,while 循环将在那一小时内毫无意义地工作,不是吗?谢谢
    • 这不仅仅是对服务器的重复 ajax 调用吗?我在我的萤火虫中看到,只是一个接一个地打电话....
    • 链接已损坏。
    【解决方案2】:

    Cometd 绑定了 jQuery 和 Dojo JavaScript 库。我不知道它有多全面,但这里有文档:http://cometd.org/documentation/cometd-javascript

    【讨论】:

      【解决方案3】:

      Comet 和长轮询意味着在客户端编写部分代码,在服务器端编写部分代码。您需要在服务器 CometD 或 Ape 中才能连接到 Comet 服务器,我发现安装它们通常很麻烦。

      我发现更简单的方法是让 Node.js 带有“comet”模块。 Faye(也可用于 ruby​​)是一个长杆 pub 子服务器,对于聊天非常有用,而 Socket Io 是一种将页面不断更新到套接字(具有 Flash 回退的 websockets)的好方法。

      Faye网站:http://faye.jcoglan.com/ Socket Io:http://socket.io/

      【讨论】:

        【解决方案4】:

        我在这里有一个非常简单的示例,可以帮助您开始使用 comet。它涵盖了使用 NHPM 模块编译 Nginx,并包含 jQuery、PHP 和 Bash 中简单发布者/订阅者角色的代码。

        http://blog.jamieisaacs.com/2010/08/27/comet-with-nginx-and-jquery/

        可以在此处找到一个工作示例(简单聊天):
        http://cheetah.jamieisaacs.com/

        【讨论】:

          【解决方案5】:

          你可以通过这个强制使用长轮询

          var cometd = $.cometd;
          cometd.websocketEnabled = false;
          

          希望对你有帮助

          【讨论】:

            猜你喜欢
            • 2023-03-20
            • 2011-08-08
            • 1970-01-01
            • 2012-07-07
            • 1970-01-01
            • 2011-10-20
            • 1970-01-01
            • 2011-02-03
            • 1970-01-01
            相关资源
            最近更新 更多