如何(仅)在服务器端发生更改时更新网页


How to update a webpage (only) when something changed on the server side

我有一个简单的php页面,它显示来自mysql数据库的数据。我希望它在服务器上的数据发生更改时自动更新自己。(我不想以固定的时间间隔定期更新页面。)我想我需要FB聊天框或omegle背后的技术。但我不知道如何在php和mysql上实现它。如果你能帮助我,我将不胜感激。谢谢。

您需要查看WebSockets或Comet服务器(使用长轮询技术)来完成推送系统。或者,您可以不使用类似推送的通知,只需一个请求标识符和一个时间戳就可以频繁地轮询服务器,让服务器决定自上次轮询以来是否有任何新的内容,如果有,则提供数据。

您可以实现与Ajax相反的Comet技术。JavaScriptDojoToolkit可以很好地处理这个方法。

Dojo WebSocket
http://dojotoolkit.org/features/1.6/dojo-websocket
http://cometd.org/

"Comet是一种网络应用程序模型,在这种模型中,长期持有的HTTP请求允许网络服务器将数据推送到浏览器,而无需浏览器明确请求。"

http://en.wikipedia.org/wiki/Comet_(编程)