Javascript 不使用WebSocket将消息异步推送到浏览器

Javascript 不使用WebSocket将消息异步推送到浏览器,javascript,jquery,python,asynchronous,websocket,Javascript,Jquery,Python,Asynchronous,Websocket,我们有一个基于浏览器的应用程序,目前使用WebSocket从服务器异步接收消息。对于WebSocket,我们在服务器端使用python autobahn,在客户端使用javascript/jQuery。如果websocket连接因任何原因失败,我们还可以自动故障切换到长轮询。当我们的应用经常收到来自服务器的消息时,所有这些都是有意义的 然而,我们的基础设施正在发生一些变化,现在我们希望很少收到消息。唯一需要注意的是,我们希望以尽可能少的延迟接收这些消息(这意味着长轮询只是稍微可取的)。如果我们打

我们有一个基于浏览器的应用程序,目前使用WebSocket从服务器异步接收消息。对于WebSocket,我们在服务器端使用python autobahn,在客户端使用javascript/jQuery。如果websocket连接因任何原因失败,我们还可以自动故障切换到长轮询。当我们的应用经常收到来自服务器的消息时,所有这些都是有意义的

然而,我们的基础设施正在发生一些变化,现在我们希望很少收到消息。唯一需要注意的是,我们希望以尽可能少的延迟接收这些消息(这意味着长轮询只是稍微可取的)。如果我们打开一个websocket并保持它的打开状态,但大部分时间都没有任何东西经过它,那么我们就是在浪费资源,为了保持websocket的打开而被迫发送keep-alive消息

<> P>那么,除了WebSoCube之外,还有其他合适的异步消息技术吗?是否有一些技术可以用于客户端(希望是Javascript或jQuery),可以监听来自服务器的偶尔消息并做出相应响应,而不是使用WebSocket?

恐怕没有

有,但没有在中实施。因此,您唯一安全的选择是长轮询

WebSocket协议定义。Ping帧可以短至2个字节,pong将为6个字节(2个用于报头,4个用于密钥),因此不会有太多开销。如果您的服务器发送ping帧,Chrome将以pong帧响应。我编写了一个WebSocket服务器,这就是我保持连接活动并检测半开放连接的方法

干杯。

链接到“弱智浏览器”现在只在IE和Opera Mini中显示不支持。