所有。我有一个有一个小聊天室的网站,我的用户越来越多地占用我的带宽,在搜索了一些奇迹后,我终于难以接受一些性感的东西:)来自我的理解,叫做 Long Polling ,
这是一个应该保持连接的简单方法 服务器/客户端UN-interapted更长的一段时间,并通过做 因此,对持续请求的需求减少了90%。
现在,我可能错了。但是,这个“简单”的东西是如何产生的呢?下面,您可以看到我的聊天脚本,我是使用Jquery从教程创建的。它工作正常,但它没有longpolling功能。
以下是PHP和Javascript 代码(我不能将它们粘贴到此处,因为它们太长了。)
现在,问题是如何将长轮询脚本注入我已构建的代码中?
答案 0 :(得分:1)
我还没有读过你的代码,但这里有一个很小的例子:
function waitForNotification() {
$.ajax(url, {
timeout: 60000,
success: function(e) {
//do want you want with e
//and call function again:
waitForNotification();
}
});
}
在服务器端,您需要收集所有ajax(在url
)请求,并仅在发布新消息时释放响应。显然,服务器端方法更难实现,完全取决于您的服务器架构(您可以使用COMET实现)。
如果您自己实现它,请注意,实际上在客户端处理m
事件时可能会发布新消息success
(并且错过了m
通知)。
根据需要配置ajax请求(处理其他事件)。
有趣: