c#观察者模式消息过滤



我正在编写一个视频cms,并希望我的所有用户在他们进来时立即显示新的资产。如果我没猜错,facebook会实时更新它的主页。所以当我向朋友发布一些内容时,它会立即显示在他的墙上。就像他们说的,实时网络。我想知道你是怎么做到的?不是客户机-服务器通信技术,而是服务器上发生的事情。我理解观察者模式的原则。但是,墙实际上是对消息表的查询。观察者如何知道用户对什么查询感兴趣?它是否保存所有连接用户的所有查询,并在有新内容进入时重新运行它。我相信Google-realtime就是这样工作的。谢谢你的帮助。

当您打开facebook时,在浏览器中打开脚本时间轴,查看页面上正在执行的脚本。您将注意到,有一个轮询脚本每秒执行几次。因此,页面每秒查看缓存几次,以查看是否有任何可以显示的新信息。

http://www.ajaxwith.com/Poll-vs-Push-Technology.html -这应该给你一个主题的背景。

Facebook使用AJAX和JavaScript计时器在后台轮询查找任何更改。其他网站使用相同类型的功能来更新嵌入在页面中的股票报价等。它并不是真正的立即更新,而是在JavaScript计时器到达服务器时频繁更新。这是因为web浏览器使用HTTP,这是一个请求/响应协议。浏览器不会显示任何不是对浏览器发起的请求的直接响应的内容;没有办法直接从你的web服务器发送内容到浏览器。

最新更新