我想搞乱实时信息,我想要复制一个非常标准的功能:
当你在单个问题视图上输入答案时,会出现在这里,并且会弹出一个警告,上面写着“有3个新闻答案,点击显示”
它也出现在Twitter上“此搜索中有5条新推文:点击更新”
我非常精通服务器和客户端代码,而我正在寻找的是基本的大纲(甚至不是伪代码,但也许是简单的英语),就像这样的事情发生了。
服务器上每分钟运行一次CRON作业,是否会向页面上长轮询的AJAX位发出信号?
页面本身是否会轮询服务器?
欢迎任何和所有解决方案。谢谢!
答案 0 :(得分:1)
从我的头脑中,我通过javascript设置它 - 设置超时来质疑服务器。这只是一个有根据的猜测。
答案 1 :(得分:1)
您可以使用Javascript setTimeout
方法定期使用在客户端运行的AJAX调用来实现该操作。您将拥有一个调用服务器端方法的Javascript函数,该方法检查是否发生了更新,显示任何更新,然后调用setTimeout来调用自身。
伪代码:
function updateCheck()
{
//make ajax call
//do something if any update has occurred
setTimeout("updateCheck()", 10000); //second param is in milliseconds
}
答案 2 :(得分:0)
看起来SO使用定期更新程序向网址发出ajax请求,如:
https://stackoverflow.com/posts/2307584/answer-activity-heartbeat
这将返回JSON结果:
{"Result":false,"Count":0}
当一个新答案存在时,这是一个结果的例子:
{"Result":true,"Count":1}