我想创建代码,该代码将检查是否出现了一些新的muser消息并显示其计数。我知道这很简单 - 只需在setInterval
函数中进行ajax调用:
$(document).ready(function () {
setInterval(function () {
//create an ajax call
}, 30000);
});
但这不是重点 - 我找不到其他方法的任何信息。这是通过设置setInterval
函数来检查更新来实现此目的的唯一方法吗?
好的,我发现http://socket.io/也许就是我正在寻找的东西
答案 0 :(得分:4)
你也可以在回调时使用setTimeout,这样每次从服务器回来的东西都会在30秒之后设置另一个计时器。这样做的好处(即使响应很慢,服务器也不会超载您的请求)但也有缺点(一旦没有应答轮询将不再运行)。
还有其他方法可以关注服务器;在Google中搜索“长轮询”一词。
答案 1 :(得分:2)
这是最简单的解决方案。否则你应该使用像http://socket.io这样更低级别的套接字,但这样你就可以向客户端实现推送消息。
以下是nodejs
和socket.io
推送通知服务器的教程:http://www.gianlucaguarini.com/blog/nodejs-and-a-simple-push-notification-server/
这是PHP
的另一个:
http://pusher.com/tutorials/html5_realtime_push_notifications