我对 NodeJS 真的很陌生(如果我对某些东西听起来很天真,我很抱歉)并且我一直在深入研究示例的源代码聊天应用 http://github.com/ry/node_chat.
但是,我无法理解一件事。我知道 WebSockets 有助于处理持久的全双工双向连接。但是 NodeJS 如何在不使用 WebSockets 的情况下管理上述聊天应用程序中的持久连接呢?如果 NodeJScan处理持久的双向连接,在Node中集成Socket.IO之类的东西到底有什么作用?
除了 WebSocket 之外,您还可以使用长轮询 http://en.wikipedia.org/wiki/Long_polling#Long_polling在服务器和客户端之间创建持久连接的技术。
长轮询是一种变体
传统的投票技术和
允许模拟信息
从服务器推送到客户端。和
长轮询,客户端请求
来自服务器的信息
与普通民意调查类似。然而,
如果服务器没有任何
为客户提供的信息,
而不是发送空响应,
服务器保留请求并等待
以获得一些信息。
一旦信息可用
(或在适当的超时后),
完整的响应发送至
客户。
然而,它不如 WebSockets 高效,但它被使用是因为它与 WebSockets 不同,可以在每个浏览器中工作。尝试看看这个article http://blog.new-bamboo.co.uk/2009/12/7/real-time-online-activity-monitor-example-with-node-js-and-websocket:
将数据减少到 2 KB
字节......并将延迟从 150 毫秒减少
到 50ms 远远超过边际。在
事实上,仅这两个因素就
足以让WebSocket认真起来
谷歌很感兴趣。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)