如何进行网页的实时更新?

时间:2010-10-05 14:15:00

标签: javascript

Google的GMail服务之所以能够实现这一点,是因为它集成了Google Talk,而Etherpad(现在的typewith.me)因使用了Google Wave等系统而闻名。当其他用户对页面进行更改时,所有这些系统都会立即有效地更新用户正在处理的页面。很容易告诉服务器发生了变化,但让客户自行更新会更加困难。

这种实时编辑如何工作?是否让客户端每秒多次ping服务器以进行更新?

7 个答案:

答案 0 :(得分:10)

您可以使用Comet

答案 1 :(得分:1)

有很多选择,但基本上我建议你研究一下XMPP。我觉得我不够正确,所以我会让a wiki talk for me

事实上,这些系统的谷歌语音和视频uses it


关于AJAX,我认为它是一个沟通渠道,而不是多人交换的平台或协议。您也可以回答"Use xml over http!"并仍然处于同一点:)

答案 2 :(得分:1)

Asynchronous JavaScript and XML or AJAX

  

使用Ajax,Web应用程序可以在后台异步检索服务器中的数据,而不会干扰现有页面的显示和行为。 Ajax技术的使用导致了网页上交互式或动态界面的增加。通常使用XMLHttpRequest对象检索数据。尽管名称如此,但实际上并不需要使用XML,请求也不需要是异步的。

答案 3 :(得分:1)

我建议使用AJAX& jQuery for Asynchronous JS

http://api.jquery.com/category/ajax/

答案 4 :(得分:0)

AFAIK,他们使用某种形式的AJAX。但是,我建议你通过jQuery使用AJAX库。如果你使用jQuery来实现它,AJAX会被简化很多。

答案 5 :(得分:0)

Javascript / Ajax允许您发送要在客户端执行的代码(也就是说,通过浏览器)。 现在,如果你是定义一个循环,每隔5秒检查服务器上的新消息,您可以“实时”更新网页(加上服​​务器处理请求和发送响应的时间),或类似的。一个实际的例子是RoR Prototype periodic_call_remote Ajax helper。

希望这有帮助!

答案 6 :(得分:0)

正如大家所说.. AJAX。

如果有任何新内容,客户端会在30秒后继续询问服务器。此外,您可以在ajax请求上设置超时值。保持时间有点高..只要有新的东西,服务器就会回复。

服务器无法以其他方式要求客户端加载某些数据。

如果您正在考虑在同一行上实现某些内容,请查找strophe.js,这是一个XMPP js-library