【问题标题】:How is engine.io different from socket.io?engine.io 与 socket.io 有何不同?
【发布时间】:2012-03-25 12:57:38
【问题描述】:

LearnBoost 似乎有一个名为engine.io 的新项目,理论上它似乎类似于socket.io。 1)在什么情况下您会使用其中一种与另一种? 2) 对于需要通过 node.js 进行基于 HTML5 套接字的通信的新项目,我们应该使用 engine.io 而不是 socket.io?

【问题讨论】:

标签: javascript html node.js socket.io


【解决方案1】:

来自https://github.com/LearnBoost/engine.io

Engine 的主要目标是确保最可靠的实时通信。与之前的 socket.io 内核不同,它总是首先建立一个长轮询连接,然后尝试升级到更好的传输方式,并在侧面进行“测试”。

在 socket.io 项目的生命周期中,我们发现了依赖 HTML5 WebSocket 或 Flash Socket 作为第一个连接机制的无数缺点。

两者显然都是建立双向通信的正确方式,HTML5 WebSocket 是未来的方式。但是,为了满足大多数业务需求,替代的传统 HTTP 1.1 机制与提供相同的解决方案一样好。

【讨论】:

  • Engine 是一个较低级别的库。如果您需要多路复用或重新连接,请使用 Socket.IO 而不是 Engine
【解决方案2】:

engine.io 是 socket.io 的新核心,因此请使用 socket.io,除非您需要其他 API :-) 根据这两个模块的作者的说法,引擎将被集成到 socket.io 1.0 中: http://groups.google.com/group/socket_io/browse_thread/thread/6e759a508b231b4

“接下来是什么

1.0 指日可待,它具有我们的下一代实时功能 核心,Engine.IO。 0.9 分支将只接收维护更新,以确保最大 稳定。 "

【讨论】:

  • 我会说 0.9 在其当前状态下几乎可以使用,它只是不适用于许多不同的客户情况。很长一段时间以来,1.0 已经“指日可待”。是时候放弃了,只使用我认为的 engine.io。
  • 至少它似乎还在开发中,以为它已经被放弃了。
猜你喜欢
  • 2012-01-22
  • 2013-08-09
  • 1970-01-01
  • 2016-06-14
  • 1970-01-01
  • 2017-09-05
  • 2021-05-10
  • 2020-08-30
  • 2015-12-24
相关资源
最近更新 更多