13

有没有一种通用的方法来使用 JavaScript 实现应用程序的一部分并提供到服务器的持久连接?无论客户端是否位于防火墙后面,我都需要服务器能够将数据推送到客户端。提前致谢

4

5 回答 5

14

请参阅Comet - 它类似于 ajax,但它保持连接打开,因此服务器可以将信息推送到客户端。

请注意,兼容的浏览器将仅保留 2 个连接(注意:大多数现代浏览器不再兼容)到特定域(默认情况下),因此您可能希望拆分您的域(例如 www.yourdomain.com 和 comet.yourdomain.com)这样您就不会大大减慢页面的加载速度。或者您可以确保在加载其他所有内容之前不要打开彗星连接。这只是需要小心的事情。

于 2009-01-29T22:25:42.283 回答
3

你应该看看彗星:

http://ajaxian.com/archives/comet-a-new-approach-to-ajax-applications

于 2009-01-29T22:24:55.517 回答
2

使用 HTTP,连接必须从客户端开始。但是有一些技术可以让服务器保持连接打开并根据需要刷新数据。

这些通常被认为是CometHTTP Streaming架构。

于 2009-01-29T22:25:41.740 回答
2

您可以为此使用Comet编程技术。基本上,页面调用服务器直到服务器有东西要发送(此时客户端立即进行相同的调用)才返回。这样,服务器几乎可以随时将内容推送到客户端。

支持因平台而异,服务器的问题比客户端的问题更大。

于 2009-01-29T22:26:39.850 回答