动态更新所有用户的部分页面

时间:2009-08-15 06:33:01

标签: javascript dynamic updates

当我选择(通过单独的页面)时,我想为其上的所有用户动态更新网页的一部分。

我想到的场景:

  1. 说有一个聊天框和一张图片 在页面上。
  2. 当我点击另一个按钮时 页面(或相同),图片 更改为嵌入式YouTube视频 为页面上的所有用户聊天。
  3. 最好/最简单的方法是什么?

2 个答案:

答案 0 :(得分:2)

您需要客户端轮询(即定期向服务器发出AJAX请求以检查更改)或使用Comet:基本上是一个长期存在的请求,它保持与服务器的开放连接,并且服务器只返回让请求超时(此时客户端发出另一个请求)或者有更改。

请注意,如果您使用热门网站执行此操作,则需要能够处理同时连接的批次。如果你需要一次拥有一万个连接,那么“每个连接一个线程”的方法真的很糟糕。基本上,您希望能够异步地提供这些请求。如何实现这取决于您的服务器平台。

答案 1 :(得分:2)

我不会使用'Comet'。

几乎可以肯定的是,所有观看网站的人都可以立即进行此更新。

说实话,当你更新他们正在更新的任何其他数据(比如聊天记录)时,我可能会偷偷更新它。因此,您只需将视频标记为该细分的“下一个”实时项目,并且已更新聊天的代码会更改该值,如果它注意到它需要一个新的。