是否有可能使用Javascript创建持久的HTTP连接?如何使用JavaScript创建与服务器的持久连接?
我想创建一个简单的脚本,打开一个持久的HTTP连接到我的服务器并在<div>
上打印结果。服务器每隔一秒发送一次字符串,所以我不想每秒都打开连接...我更喜欢ONE连接并在可用时打印值。可能吗?
谢谢
是否有可能使用Javascript创建持久的HTTP连接?如何使用JavaScript创建与服务器的持久连接?
我想创建一个简单的脚本,打开一个持久的HTTP连接到我的服务器并在<div>
上打印结果。服务器每隔一秒发送一次字符串,所以我不想每秒都打开连接...我更喜欢ONE连接并在可用时打印值。可能吗?
谢谢
这是不可能的。使用
的setInterval
我不会说一件事情是不可能的,除非你100%确定... – 2011-05-16 17:59:06
它一种-的可能。可以使用websocket *或解决方法(多部分响应,长轮询或在Flash的帮助下)。
长时间轮询在您的情况下并不明智,因为它确实每秒都会建立一个新的连接。我不太了解多部分响应,但afaik他们只在Firefox中支持。对于闪光灯......用户需要闪光灯。和websockets只支持webkit(铬,safari),Firefox有他们,但由于安全问题(潜在的缓存中毒代理)前一段时间禁用他们。尽管互联网浏览器...忘记它。
查看http://socket.io/ - 这是一个js库,为您管理解决方法。
您正在寻找的技术称为长轮询。它可能变得非常复杂,但它是可能的。
有几种实现方式。彗星就是其中之一,Socket.IO是另一个。
http://en.wikipedia.org/wiki/Comet_(programming))
良好的信息也Here。
[Comet](http://en.wikipedia.org/wiki/Comet_(programming))? – 2011-05-16 17:58:30