我正在使用PHP / MySQL编写一个网站。当数据库中的表更新时,该网站应允许用户浏览器自动更新(这是由某人通过PHP站点插入内容引起的)。基本上,如果表的状态发生变化,网站上的其他用户应立即看到更改。
我对PHP / AJAX和其他网络技术比较陌生。我能想到这样做的唯一方法是让客户端通过计时器每隔一两次手动重新检查数据库(但这似乎浪费了很多带宽)。有没有办法在数据库更改时自动通知用户?
谢谢!
答案 0 :(得分:1)
您已经考虑过这个解决方案了。您可以使用ajax自动检查更改。
当某些内容发生变化时,服务器无法与您联系。降低检索间隔时,不必占用带宽。您可以使用尽可能少的文本检查空白页面的Ajax。这样带宽使用率就不会太差了。
Facebook也是这样做的。
答案 1 :(得分:0)
1) AJAX轮询。 如你所说,使用ajax来调用服务器端的PHP来获取 更新。
2) HTML5 Websockets。 Websockets是HTML5的一项新功能,它允许浏览器保持对服务器开放的双向TCP连接,其中数据可以双向传输而无需轮询。目前,这不像ajax polling那样得到广泛支持。
3) Java Applet / ActiveX控件。 通常是最不受欢迎的解决方案,因为用户必须安装第三方软件。