人员,
我正在开发一个网页,每次数据库更新时都需要刷新。我已经在我的PHP代码中完成了checkDatabaseUpdate((。
但现在我真的需要一些帮助来开发一个简单的彗星来等待响应,另一个来检查更新。
有谁能举个简单的例子来帮助我吗?
彗星是正确的解决方案吗?
谢谢,
您想说的是,在数据库上,后端执行了查询(INSERT、UPDATE、DELETE(,并且您想在执行该查询时刷新用户的首页?
嗯。。使用jQuery(循环(在frontcontroller中"Ajax检查"数据库更新,然后刷新。
function refreshPage () {
$.load('checkModifDb.php', function(response, status) {
if .... { do the trick here - check jquery load.api }
}
});
and then use setInterval( "refreshPage()", 10000 ); to run the function every 10 seconds and
refresh only if it founds that db was modified.
我现在想不出什么了,但我想只要稍微修改一下,你就应该表演这个把戏。twitter.com就是这样做的。
彗星是正确的解决方案吗?
由于PHP的工作方式(让web服务器守护进程处理传入请求(,将其与长轮询技术相结合可能会让服务器不满意。每个连接的用户都将打开与web服务器守护进程的连接。根据守护进程的配置,您可能会发现comet是针对您自己的服务器的有效拒绝服务攻击。
在这里使用简单而短暂的ajax轮询可能会更好。