engine.io和socket.io有什么区别?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (544)

如果这个问题是重复的,请纠正我。关于node.js,我使用socket.io进行从客户端应用程序到服务器应用程序的实时套接字连接。我刚刚听说过engine.io,engine.io是socket.io的替代品吗?我在engine.io网站上找不到任何有用的信息

提前致谢

提问于
用户回答回答于

engine.io是一个比socket.io更低级的库。

引擎是Socket.IO什么是Connect到Express。

如果您想要较低级别的抽象,请使用engine.io。如果你想要一个websocket抽象,继续使用socket.io。

如果你在socket.io之上构建一个库/框架,那么engine.io对你更感兴趣。

如果你在socket.io之上构建一个应用程序,socket.io对你更感兴趣。

用户回答回答于

游戏有点晚了:-),但我会在这里为后人提及它。

除了“更低级别”之外,最重要的区别之一是socket.io将首先从websockets开始并降级,直到找到可以工作的传输。另一方面,engine.io将从短轮询开始(并在侧面升级直到它撞到墙壁)。

为什么?

从用户的角度来看,不成功的WebSocket连接可以在至少等待实时应用程序开始交换数据的10秒内进行转换。这会敏锐地伤害用户体验。

目前(2013年),websockets尚未普及(例如旧浏览器,蜂窝网络等),因此从XHR 1st开始是明智的。

有关详细信息,请参阅https://github.com/LearnBoost/engine.io(目标部分)。

扫码关注云+社区

领取腾讯云代金券