php - “实时通知”功能
问题描述
我想为我的用户添加“实时通知”功能:当他们收到新消息(通过聊天系统)时,然后在导航栏中的聊天图标上显示通知徽章。
我正在考虑这样做:使用 setInterval 进行 AJAX 调用:(如在此处的另一篇文章中所见)
AJAX 调用:
setInterval('checkUpdates', 2000);
function checkUpdates() {
$.get('/check_updates.php?timestamp=' . lastTime, function (results){
// do stuff here
}
);
PHP代码:
$timestamp = $_REQUEST['timestamp'];
$results = query('SELECT message FROM messages WHERE messageTime > "$timestamp"');
echo fetch($results);
我之前有几个问题:
1)由于我希望更新检查不断运行,并且导航栏始终存在(始终在页面顶部),所以 navbar.php 文件是放置该 AJAX 调用的正确位置吗?
2) 这对网站性能的影响有多大,让 AJAX 调用每 2 秒持续运行一次?
3)有更好的方法吗?像 Facebook 这样的网站是否有一种有效的方法可以在您收到新消息时立即弹出聊天窗口,或者这要归功于它们大量的服务器?
谢谢
解决方案
推荐阅读
- python - 如何从 Jupyter 笔记本中的 Tkinter Text 小部件获取文本?
- powershell - Powershell Web Server 页面上的两个或多个操作
- amazon-web-services - Terraform - ELB 尝试重新创建而不是更新
- excel - 数据输入一列时触发代码
- powerbi - SUMX(VALUES( ), AVERAGE( )) 返回意外值
- r - 在 Linux 中安装 ROracle:/usr/bin/ld: 找不到 -lclntsh
- javascript - 如何在 7 天的一周内对时间戳进行分组?
- airflow - 存储和执行查询的最佳方式
- c++ - C++ 中的回调
- java - 为什么扫描仪在输出之前读取?