【问题标题】:Example of Persistent Connections without polling, and without plugins没有轮询和没有插件的持久连接示例
【发布时间】:2011-12-29 14:38:07
【问题描述】:

我找到了an interesting library that allows DOM manipulation from the server,这允许对浏览器隐藏大部分逻辑,所以浏览器只能看到当你选中该框时会发生什么,它实际上并不知道当你选中该框时要做什么盒子。

看到it responds so quickly,我查看了网络活动,发现一个带有HTTP 101(交换协议)的项目,它说连接仍然打开。

在 JavaScript 中似乎有一种方法可以接收流数据

这怎么可能?代码有点大,我在谷歌上搜索表明它会被称为 Comet,但是有更多关于高度跨浏览器“长轮询”的信息,但这似乎不是正在发生的事情。

什么是(简单)示例,说明如何获得这样的快速结果?

【问题讨论】:

    标签: javascript streaming comet


    【解决方案1】:

    HTTP/1.1 101 响应头是 Websocket 协议握手。

    我发现socket.io 是最好的现成库(客户端和服务器),尤其是在使用 JavaScript 时。如果可能,Socket.io 将使用 flash 套接字,然后在不支持 Websocket 的旧浏览器中进行最后的长轮询。

    【讨论】:

      【解决方案2】:

      长轮询是一种推送技术。在 web sockets(HTML 5) 之前,web 存在类客户端服务器问题。在客户端请求之前,服务器无法推送。因此无法将数据推送给客户端。长轮询是其中一种方法。

      它以简单的方式工作。客户端将向服务器发出请求,如果服务器有任何新内容,服务器将立即提供服务或等待新内容到来。每当有新内容出现时,服务器都会发送响应。收到响应后,客户端将再次向服务器重新发出请求。还有其他实现推送技术的方法。阅读:wiki

      【讨论】:

        猜你喜欢
        • 2018-03-05
        • 2011-04-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多