NodeJS如何处理没有WebSocket的持久连接?

我对NodeJS真的很陌生(如果我对某些东西听起来很天真,我很抱歉),而且我一直在挖掘示例聊天应用程序的源代码。

但是,我无法理解一件事情。 我知道WebSockets有助于处理持续的全双工双向连接。 但是,NodeJS如何在不使用WebSocket的情况下pipe理上述聊天应用程序中的持久连接呢? 如果NodeJS 可以处理一个持久的双向连接,那么在Node中整合Socket.IO的function到底是什么呢?

除了WebSockets,您还可以使用长轮询技术在服务器和客户端之间创build持久连接。

长轮询是传统轮询技术的变体,可以模拟从服务器到客户端的信息推送。 通过长轮询,客户端以类似于普通轮询的方式从服务器请求信息。 但是,如果服务器没有任何可用于客户端的信息,而不是发送空的响应,则服务器保存请求并等待一些信息可用。 一旦信息变得可用(或者在适当的超时之后),则将完整的响应发送到客户端。

然而,它不像WebSockets那样高效,但是它被使用,因为它在每个浏览器中都可以工作,而不像WebSockets。 试着看这篇文章 :

将千字节的数据减less到2个字节…并将延迟从150ms减less到50ms远远不够。 事实上,这两个因素足以让Google对Google WebSocket非常感兴趣。

我不熟悉聊天应用程序。 我没有看到托pipe演示的链接。

NodeJS是一种服务器端技术。 它没有本地套接字的麻烦。 Socket.IO是一个组合的客户端和服务器端技术。 它恰好在服务器端使用NodeJS。 它的优点在于它在客户端提供了一个通用的通信API,而不pipe浏览器具有哪些function。