如何在没有PHP永久连接的情况下向客户端发送通知
How to send notifications to client without a permanent connection to PHP
在我的应用程序中,我想向客户端发送一些警报。我想发送更新到客户端没有类似于推送服务器的请求。
我该怎么做?
在没有永久连接的情况下处理通知的最好方法是使用人们所说的心跳功能。
心跳函数是一种函数/方法,它在一段时间内被重复调用,就像你的心脏以恒定的节奏跳动一样。
setInterval(function () {
$.get("/heartbeat.php", null, function (response) {
// check the response from heartbeat.php for new notifications
});
}, 10000);
注意:上面的例子包含jQuery代码$.get( ... )
,非jQuery的方式是使用XMLHttpRequest
进行ajax调用。
上面的代码将每10秒调用php脚本来检查新的通知。可以添加新的通知,例如使用数据库中的表。例如,有一个通知表和3个(如果你想要一个日期4个)字段:一个用户标识字段,消息字段,和一个'read'/'sent'标志字段。
新的通知将被添加到表中,当心跳脚本被调用时,它将检查用户标识符和新消息的标志字段;如果找到了,则返回消息并标记为已发送。
相关文章:
- 如何在不使用mvc 4中的模型的情况下进行客户端验证
- 如何在不使用处理程序的情况下使用ajax将文件从客户端发送到服务器端
- 如何在不使用任何 html 输入/搜索元素的情况下读取本地客户端文本文件
- Nodejs-websocket:如何在没有服务器响应的情况下连续发送客户端消息
- 如何在不回显的情况下将会话值获取到客户端
- 在不使用集合的情况下将服务器端计算返回到客户端
- 如何在没有Flash的情况下在客户端录制语音
- 如何在不使用 JavaScript 中的 activex 的情况下从客户端获取文件大小
- 如何在不使用LDAP的情况下在java中获取客户端系统的用户名
- 在不知道客户端的情况下通过套接字捕获事件
- 如何在不泄露应用机密的情况下从客户端访问 Facebook 公共数据
- 为什么在未读取响应的情况下,节点http客户端仍在运行
- 在不打开新页面的情况下从浏览器调用客户端URL
- 从web应用程序,如何在没有用户交互的情况下在客户端计算机上运行exe
- 在没有客户端发现密钥的情况下解密
- 如何在客户端不打印对话框的情况下打印收据
- 如何在不点击标题的情况下从客户端对网格视图进行排序
- 如何从客户端javascript在没有凭据的情况下将文件上传到s3公共bucket
- 如何在不打开浏览器中的新窗口/选项卡的情况下打开“tel:+48123”链接客户端
- 在不涉及服务器端代码的情况下,在客户端裁剪和上传图像