在我的应用程序中,我想向客户端发送一些警报。我想发送更新到客户端没有类似于推送服务器的请求。
我该怎么做?
在没有永久连接的情况下处理通知的最好方法是使用人们所说的心跳功能。
心跳函数是一种函数/方法,它在一段时间内被重复调用,就像你的心脏以恒定的节奏跳动一样。
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'标志字段。
新的通知将被添加到表中,当心跳脚本被调用时,它将检查用户标识符和新消息的标志字段;如果找到了,则返回消息并标记为已发送。