Javascript 一个简单的问题

Javascript 一个简单的问题,javascript,ajax,streaming,push,Javascript,Ajax,Streaming,Push,关于ajax,我有一个非常简单的问题。 如果我想刷新我的站点的某个特定区域,那么使用ajax将是最好的方法 但是,是否存在这样一种情况,即在给定事件发生时,服务器将发送数据,而不是让javascript定期检查服务器上的更改 我想要的是客户端不需要定期发送请求,而是服务器只向客户端发送信息,而客户端又有某种事件侦听器 提前感谢这是使用传统HTTP无法做到的。但是,您可以使用或其一个同级来模拟推送行为。这无法完成,因为http协议通过发送请求并从服务器接收响应来工作,因此服务器在不接收请求的情况下

关于ajax,我有一个非常简单的问题。 如果我想刷新我的站点的某个特定区域,那么使用ajax将是最好的方法

但是,是否存在这样一种情况,即在给定事件发生时,服务器将发送数据,而不是让javascript定期检查服务器上的更改

我想要的是客户端不需要定期发送请求,而是服务器只向客户端发送信息,而客户端又有某种事件侦听器


提前感谢

这是使用传统HTTP无法做到的。但是,您可以使用或其一个同级来模拟推送行为。

这无法完成,因为http协议通过发送请求并从服务器接收响应来工作,因此服务器在不接收请求的情况下无法响应。

是的,这可以完成。它被称为“推送”或“推送流”

以下是一个能够做到这一点的网站:。以及他们主页上的简短引用:

“InstantPush用于生成网页 手机也开始使用了。他们将 可在以下情况下即时更新: 更改发生在服务器端。 标准的网络通信使得 更新通过防火墙和代理。 在客户端没有任何模块 一边

InstantPush从2001年开始使用, 在“Ajax发明”之前。它是 可能是第一次Ajax推送 框架

InstantPush在中国市场处于领先地位 北欧。”

下面是另一家提供此技术的公司:。以及他们主页上的一句话:

“Lightstreamer是一款可扩展且可靠的服务器,用于将实时数据推送到富Internet应用程序

基于Comet和实时Web 例如,它流式传输实时数据 到任何Web浏览器和客户端 应用HTML、HTML5、AJAX、Flex、, Silverlight、Java、.NET、iOS、Android、, 和黑莓应用程序,可以 轻松接收来自的实时数据 Lightstreamer服务器

Lightstreamer已在许多领域使用 关键任务生产系统, 可扩展性、低网络影响、, 带宽管理,自适应 流媒体和其他高级 这些功能已被证明是基本的。”


当服务器向客户端广播/推送数据而不被请求时,这确实是一个困难的问题。HTTP是无状态的,即使浏览器是注册的客户端,它仍然需要通过代码或一些标记(如meta refresh)进行请求。新的但仍然不太稳定的选项是Comet或WebSocket

答案是彗星而不是网袋。是的,这是可能的。 另一种方法是使用浏览器插件

这是一个除wiki之外的页面,位于


不,这是做不到的。服务器的任务是提供请求的结果,这必须从一开始就开始。

我认为这是一种方法,但并非所有浏览器都支持


我将它们与ruby和chrome一起使用,非常简单。

请让我们知道问题的答案,以及这是否可以实现,这是一个非常有趣的问题。@Ghyath Serhal:这是您的答案。
* Apple Push Notification Service
* BOSH
* Comet
* Client–server model
* File transfer
* Pull technology
* Push Access Protocol
* Push e-mail
* Reverse Ajax
* Streaming media
* WebSockets