【问题标题】:I need an example of comet refresh html when database is updated!更新数据库时,我需要一个彗星刷新 html 的示例!
【发布时间】:2011-04-07 00:27:53
【问题描述】:

人,

我正在开发一个网页,每次数据库获得更新时都需要刷新该网页。我已经在我的 PHP 代码中完成了 checkDatabaseUpdate()。

但是现在我真的需要一些帮助来开发一个简单的彗星来等待响应,另一个来检查更新。

有人有任何简单的例子可以帮助我吗?

彗星是解决这个问题的正确方法吗?

谢谢,

【问题讨论】:

标签: php ajax comet


【解决方案1】:

您想说的是,在数据库中执行了后端的查询(INSERT、UPDATE、DELETE),并且您想在执行该查询时刷新用户的首页?

嗯 .. 使用 jQuery(循环)“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 的做法。

【讨论】:

  • 或者你可以使用$.ajax请求并返回一个参数,分析它并在满足条件时启动页面的引用。
【解决方案2】:

彗星是解决这个问题的正确方法吗?

由于 PHP 的工作方式(让 Web 服务器守护进程处理传入请求),将其与长轮询技术结合起来可能会导致服务器不满意。每个连接的用户都将保持与 Web 服务器守护进程的连接。根据该守护进程的配置,您可能会发现 Comet 是针对您自己的服务器的有效拒绝服务攻击。

在这里使用普通的旧的短命 ajax 轮询可能会更好。

【讨论】:

    猜你喜欢
    • 2011-07-30
    • 2012-10-06
    • 2014-07-22
    • 2016-07-23
    • 1970-01-01
    • 2012-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多