我正在写一个视频cms,并希望我的所有用户有新的资产立即显示,因为他们进来。如果我是对的,facebook会实时更新它的网页。因此,当我向朋友发布内容时,它会立即显示在他的墙上。实时网络,就像他们说的那样。我想知道你是怎么做到的?不是客户端-服务器-通信的技术,而是服务器上发生的事情。我理解观察者模式的原理。但墙实际上是对消息表的查询。观察者如何知道用户感兴趣的查询?它是否包含所有连接的用户的所有查询,并在有新的用户进入时重新运行它。我相信Google-realtime就是这样工作的。谢谢你帮我的忙。
发布于 2011-04-07 05:20:17
打开facebook时,请在浏览器中打开脚本时间线,以查看页面上正在执行哪些脚本。您会注意到,有一个轮询脚本每秒执行几次。因此,该页面每秒会多次查看缓存,以查看是否有新的信息可以显示。
http://www.ajaxwith.com/Poll-vs-Push-Technology.html -这应该会给你一个关于这个主题的背景知识。
发布于 2011-04-07 05:21:08
Facebook使用了AJAX和一个JavaScript定时器,它会在后台轮询是否有任何变化。其他网站使用相同类型的功能来更新页面中嵌入的股票报价,等等。它并不是真正的立即更新,它的更新频率与JavaScript计时器命中服务器的频率一样高。这是因为web浏览器使用HTTP,这是一种请求/响应协议。浏览器不会显示任何不是对浏览器发起的请求的直接响应的内容;没有办法直接将内容从way服务器发送到浏览器。
https://stackoverflow.com/questions/5573016
复制相似问题