NodeJS 和www.example.com之间有什么区别engine.iosocket.io?

hgqdbh6s  于 2022-12-18  发布在  Node.js
关注(0)|答案(4)|浏览(174)

关于node.js,我正在使用socket.io进行从客户端应用程序到服务器应用程序的实时套接字连接。我刚刚听说engine.io。engine.io是否可以替代socket.io??我在www.example.com的网站上找不到任何有用的信息engine.io。

bis0qfac

bis0qfac1#

engine.io是比socket.io更低级别的库。
引擎对于Socket.IO的作用就像Connect对于Express的作用一样。
如果你想要较低层次的抽象,使用engine.io。如果你想要一个WebSocket抽象,继续使用socket.io。
engine.io 您要在socket.io之上构建库/框架,www.example.com会对您更感兴趣。
socket.io 您要在socket.io上构建应用程序,www.example.com对您更有意义。

zbwhf8kr

zbwhf8kr2#

socket.io 是建立在engine.io之上的。
socket.io 就是engine.io有铃铛和哨子的网站。
如果你不需要socket.io的所有内容(redis商店、群组等),只需使用engine。

x759pob2

x759pob23#

有点晚的游戏:-),但我会在这里提到它的后代。
除了是“较低级别”之外,最重要的区别之一是socket.io将首先从websockets开始并降级,直到它找到一个可以工作的传输。另一方面,engine.io将从短轮询开始(并在一旁升级,直到它撞到墙)。
为什么?
从用户的Angular 来看,一个不成功的WebSocket连接可能需要等待实时应用程序开始交换数据至少10秒,这会明显损害用户体验。
目前(2013年),websockets还没有普及(例如,旧的浏览器,Hive网络等),所以从XHR 1开始是明智的。
更多信息请参见https://github.com/socketio/engine.io(目标部分)。

baubqpgj

baubqpgj4#

Socket.IO v0.9已经过时了,而且有一些bug,Engine.IO是临时的继承者,Socket.IO v1.0(即将发布)将使用Engine.IO,并且比v0.9好得多。
在我的测试中,Engine.IO似乎比Socket.IO v0.9性能更好,请参阅比较:https://medium.com/node-js-javascript/b63bfca0539
Socket.IO会在连接丢失后尝试重新连接一段时间,而Engine.IO则不会。
Socket.IO支持房间,而Engine.IO不支持。如果您要监听不同的数据/通道,则需要房间(通过这些模块或您自己的实现)。

相关问题