有人可以用PHP给我一个好的、简单的彗星技术例子吗?
我只需要一个使用持久HTTP连接或类似方法的例子。我不想使用轮询技术,因为我已经设置了这样的技术,它不仅难以处理和管理,而且对资源的消耗也很大。另外我正在使用IIS7而不是Apache。
一个好的例子将非常有帮助,这样我就可以从这个丑陋的轮询技术中走出来了。
有人可以用PHP给我一个好的、简单的彗星技术例子吗?
我只需要一个使用持久HTTP连接或类似方法的例子。我不想使用轮询技术,因为我已经设置了这样的技术,它不仅难以处理和管理,而且对资源的消耗也很大。另外我正在使用IIS7而不是Apache。
一个好的例子将非常有帮助,这样我就可以从这个丑陋的轮询技术中走出来了。
你应该使用轮询或使用专门为长连接和COMET设计的Web服务器,配合一个良好的JS后端:
function listen() {
$.get("/mylongrequestfile", {}, function(data) {
$("#mydiv").html(data);
listen(); // then launch again
}));
};
请记住,COMET 是“等待数据,如果有数据则返回并退出”的方式,因此 JS 后端将需要解析数据并重新发起向服务器请求的过程。
在这个例子中,如果出现服务器端问题或者用户端断开连接,整个过程都会中断(只有在请求成功时才调用该函数)。
看看这个:如何使用PHP实现COMET。
这不是使用JQuery,而是使用PHP和Prototype制作的。非常易懂。我认为在查看此内容后,您可以很容易地制作出JQuery脚本。
我这里有一个非常简单的例子,可以让你开始使用Comet。它涵盖了使用NHPM模块编译Nginx的过程,并提供了jQuery、PHP和Bash中用于实现简单发布者/订阅者角色的代码。
http://blog.jamieisaacs.com/2010/08/27/comet-with-nginx-and-jquery/
一个工作的例子(简单聊天)可以在这里找到:
http://cheetah.jamieisaacs.com/