我正在尝试在我的网站上创建一个页面,以实时显示新上传的项目。
我认为每 3 秒调用一次 Ajax 脚本 是解决此问题的最佳方法,但是我的网站并没有那么频繁地获得新的上传项目。它也变化无常,从 30 秒到 1 小时不等!
此外,每 3 秒调用一次脚本会对我的服务器造成很大的负担,尤其是当很多人在同一页面上时。
我正在四处寻找类似于 PHP 的推送通知之类的东西。虽然这看起来很牵强,但我正在寻找当有人向网站上传内容时,上传脚本会告诉提要页面更新的东西。
我看到了一个叫做 COMET 的东西——尽管阅读文章/教程让我更加困惑。
那么,实现不断更新页面的最佳方式是什么?
最佳答案
在服务器端,您需要一个脚本来根据时间戳(例如:上次请求)判断是否有新内容(例如:新文件)。在客户端,您有两种选择:
Polling aka Periodic Refresh :
这基本上意味着让您的客户端定期轮询服务器以检查是否有新数据。您想要的是让您的请求和响应尽可能简洁。如果在单独的进程中运行处理这些请求的脚本,也会有所帮助。
您可以将间隔调整为服务器和用户都可以接受的时间间隔。您还可以使用 Heartbeat判断用户是否仍处于事件状态,这样您就可以在用户离开窗口但离开计算机时停止轮询服务器。
使用它需要更多的设置;但这基本上是从客户端到服务器的长期连接,并且服务器可以在必要时将内容“推送”到客户端。
关于php - 如何制作一个不断更新的页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3713457/