この質問が重複している場合は修正してください。 node.jsについては、クライアントアプリケーションからサーバーアプリケーションへのリアルタイムソケット接続にsocket.ioを使用しています。 engine.ioについて聞いたばかりですが、engine.ioはsocket.ioの代替品ですか? engine.ioのWebサイトで有用な情報が見つかりませんでした
前もって感謝します
engine.io は、socket.ioよりも低レベルのライブラリです。
エンジンはSocket.IOに対して、ConnectはExpressに対してです。
低レベルの抽象化が必要な場合は、engine.ioを使用します。 Webソケットの抽象化が必要な場合は、socket.ioを使用し続けてください。
engine.ioは、socket.ioの上にライブラリ/フレームワークを構築する場合に、より関心があります。
socket.ioの上にアプリケーションを構築している場合、socket.ioはより興味深いものです。
socket.ioはengine.ioの上に構築されます。
socket.ioは、添え字付きのengine.ioです。
socket.ioのすべて(redisストア、グループなど)が必要ない場合は、エンジンを使用してください。
ゲームに少し遅れました:-)が、後世のためにここで言及します。
「下位レベル」であることは別として、最も重要な違いの1つは、socket.ioが最初にwebsocketから開始し、機能するトランスポートが見つかるまで低下することです。一方、engine.ioは短いポーリングで開始されます(壁にぶつかるまで横でアップグレードします)。
どうして?
ユーザーの観点からすると、WebSocket接続が失敗すると、リアルタイムアプリケーションがデータの交換を開始するまで少なくとも10秒待機することになります。これにより、ユーザーエクスペリエンスが知覚的に損なわれます。
現時点(2013年)では、websocketはまだ普及していないため(たとえば、古いブラウザー、携帯電話ネットワークなど)、XHR 1stから始めるのが賢明です。
詳細については、 https://github.com/LearnBoost/engine.io (目標セクション)を参照してください。
Socket.IO v0.9は時代遅れで少しバグが多く、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はサポートしていません。異なるデータ/チャネルをリッスンする接続がある場合は、(これらのモジュールまたは独自の実装を介して)ルームが必要になります。