Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php和jquery的简单comet示例_Php_Http_Iis_Comet_Keep Alive - Fatal编程技术网

使用php和jquery的简单comet示例

使用php和jquery的简单comet示例,php,http,iis,comet,keep-alive,Php,Http,Iis,Comet,Keep Alive,有人能给我一个使用PHP的comet技术的简单好例子吗 我只需要一个使用持久HTTP连接或类似连接的示例。我不想使用轮询技术,因为我有类似的设置,不仅很难使用和管理,而且这是一个巨大的资源。而且我使用的是IIS7而不是Apache 一个很好的例子将非常有用,这样我就可以从这种丑陋的轮询技术中继续前进。从未使用过这种技术,并且研究过关于这个主题的问题,“长轮询”似乎是唯一可行的解决方案。通过无限循环并在服务器上休眠脚本来实现它听起来非常简单。维基百科文章的链接中有一些 您是否尝试过这些方法,并在具

有人能给我一个使用PHP的comet技术的简单好例子吗

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


一个很好的例子将非常有用,这样我就可以从这种丑陋的轮询技术中继续前进。

从未使用过这种技术,并且研究过关于这个主题的问题,“长轮询”似乎是唯一可行的解决方案。通过无限循环并在服务器上休眠脚本来实现它听起来非常简单。维基百科文章的链接中有一些


您是否尝试过这些方法,并在具体问题上遇到了困难?

您可以看一看,这是理解comet编程概念的一个很好的开始


你会发现两个例子。第一个使用iframe技术,而第二个使用持久连接。

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

function listen() {
    $.get("/mylongrequestfile", {}, function(data) {
        $("#mydiv").html(data);
        listen(); // then launch again
    }));
};
记住COMET是“等待数据,如果有数据返回和退出”,因此JS后端必须解析数据并重新启动询问服务器的过程

在本例中,如果服务器端出现问题或只是与用户端断开连接,整个过程都将中断(仅当请求成功时才调用该函数)

对于IIS,存在以下问题。但是,由于您使用的是PHP,因此使用它可能会更好。任何一个都可以为您提供所需的服务器推送,而且使用简单。看看n,这基本上就是你想要的

这里没有使用脚本语言。只需在两个窗口中打开,即可看到发布/订阅操作


要从服务器发布,您可以使用。

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

可以在这里找到一个工作示例(简单聊天):

看看这个:。

这不是使用JQuery。它是使用PHP和原型制作的。这很容易理解。我认为您可以在看了这篇文章后轻松地编写JQuery脚本。

查看这个演示视频,了解如何实现长轮询(comet)。。 这可能对你们大家都有帮助


getclicky.com似乎非常成功地使用了轮询方法+1个很棒的代码,您建议在请求之间进行此睡眠吗?服务器本身应该使
睡眠
生效,因此服务器应该在给出响应之前等待,直到出现以下情况之一(1-找到新数据,2-请求超时)