我们正在使用 MySQL 数据库创建一个基于 PHP 的网站。演示者正在投影仪上展示网站。该网站有演示图像和文本以及投票区。
使用移动设备的观众可以登录显示当前投票问题的网站,并允许观众近乎实时地在投票中投票。
AJAX 在一个 PHP 脚本循环中运行,查询数据库以便在演示屏幕上生成近乎实时的结果。
我希望有某种方法可以使用某种事件监听器来接收有关某些内容已更改的通知,而不是不断地对服务器执行 ping 操作。
不幸的是,我们没有我可以在这里发布的网站的公共(public) View ,但我想获得有关技术的意见和想法,以使其能够扩展并在轮询网站和移动网站时同样有效。
最佳答案
是的,有更好的方法。这组技术通常包含在所谓的 Comet 中。 .您可能想要做的是使用 AJAX 长轮询。基本上,您使用浏览器向服务器发出请求,而服务器在有新数据之前不会响应。一旦响应,您就可以在浏览器上立即初始化一个新请求。
请注意,更好的方法是使用网络套接字服务器。看看那些,它们是一种在浏览器和服务器之间进行实时数据传输的方法。很多人都在用 node.js 中的那些人做很酷的事情和,例如,socket.io .不过,您确实需要一台专用服务器,而不仅仅是网络托管。
关于php - 扩展 PHP/AJAX 轮询网站更改的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8274106/