使用php和jquery的简单彗星示例

34 php iis comet http keep-alive

任何人都可以给我一个使用PHP的彗星技术的简单例子吗?

我只需要一个使用持久HTTP连接或类似的示例.我不想使用轮询技术,因为我有这样的设置,不仅难以使用和管理它的大量资源.我也使用IIS7而不是Apache.

一个很好的例子真的很有用,所以我可以从这种丑陋的轮询技术中继续前进.

Adr*_*rro 15

您应该使用轮询,或使用专门为长请求和COMET设计的Web服务器,以及良好的JS后端:

function listen() {
    $.get("/mylongrequestfile", {}, function(data) {
        $("#mydiv").html(data);
        listen(); // then launch again
    }));
};
Run Code Online (Sandbox Code Playgroud)

请记住,COMET是"等待数据,如果有数据返回并退出",那么JS后端将不得不解析数据并重新启动询问服务器的过程.

在此示例中,如果存在服务器端问题或仅断开与用户端的连接,则整个过程将被中断(仅在请求成功时才调用该函数)

  • +1伟大的代码,你会建议在请求之间进行这种睡眠吗? (2认同)

cha*_*987 6

看看这个:如何用PHP实现COMET.
这不是使用JQuery.它是使用PHP和Prototype制作的.这很容易理解.我认为你可以在查看之后轻松制作JQuery脚本.


dec*_*eze 2

从未使用过这种技术并研究过有关该主题的维基百科文章,“长轮询”似乎是唯一可行的解​​决方案。通过在服务器上无限循环和休眠脚本来实现听起来很简单。维基百科文章链接到的HTTP Streaming 页面中有一些实际代码。

您是否尝试过其中任何一个并偶然发现了特定问题?