我正在尝试制作自动重载计数器(例如:Messages [num])。
所以,我只是在setTimeout();
从test_ajax.php获取JSON代码。我认为这不正确..
我可以通过服务器发送信息(我想不是,但突然间我有些事情不知道......)?
为什么我认为这不正确:因为当我查看我的chrome 网络日志(F12 - >网络标签)时,我看到很多请求(对于test_ajax.php),但是,当我访问vk.com(ajax的好例子)或facebook.com时,我看不到任何请求,而某些东西不会改变。
那么,我的解决方案中有什么不正确(或者什么是坏的......)?
UPD:抱歉,vk.com每25秒向q%NUM%.queue.vk.com发送请求,但直到25秒,最后一个请求的状态为“待定”。例如,当某人向我发送消息时,会立即显示该消息。并且请求有参数“wait”等于25.这个请求在服务器端做的延迟..但是如何?
答案 0 :(得分:1)
Ajax计数器可以轻松完成,只需包含以下文件
下载链接:https://docs.google.com/open?id=0B5dn0M5-kgfDcE0tOVBPMkg2bHc
答案 1 :(得分:0)
您正在寻找的是COMET(有时也称为反向AJAX)技术。
做你想做的事,例如定期民意调查,是这样做的一种方式。
服务器端实际上发生了很多事情;为了避免在每个轮询上重新创建新连接,一些像Jetty这样的servlet容器开始实现Continuation这样的技术,它基本上保持双向连接打开。
在Java世界中,使用Servlet 3,您可以将异步调用作为规范的一部分。