使用php和jquery的简单comet示例
有人能给我一个使用PHP的comet技术的简单好例子吗 我只需要一个使用持久HTTP连接或类似连接的示例。我不想使用轮询技术,因为我有类似的设置,不仅很难使用和管理,而且这是一个巨大的资源。而且我使用的是IIS7而不是Apache使用php和jquery的简单comet示例,php,http,iis,comet,keep-alive,Php,Http,Iis,Comet,Keep Alive,有人能给我一个使用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-请求超时)