1. ホーム
  2. node.js

[解決済み] Node.jsで使用するwebsocketライブラリはどれですか?[クローズド]

2022-03-21 07:54:14

質問

現在では ウェブソケットライブラリの数々 node.jsのための、最も人気のあるようです。

しかし、どれもしっかりとした具体的な比較対象が見つからない...。 どうやらSocket.ioは凄かったようですが、かなり古くなり、ビルドに失敗しているようです。wsとwebsocket-nodeはどちらも最速だと主張している。そしてengine.ioは新しいようですが、軽量なaletarntivesよりずっと重いようです。

どのソケットライブラリをいつ使うかのガイドとなるような回答や、各ライブラリの比較を私たちか誰かがまとめることができれば、素晴らしいことだと思います。

どのように解決するのですか?

これを使ってボールを転がす コミュニティWiki を回答してください。自由に 編集する を、改良してください。

  • ws node.jsのWebSocketサーバーとクライアントです。最速ではないにしろ、最も速いライブラリの一つ。

  • ウェブソケットノード node.js 用の WebSocket サーバとクライアント。

  • ウェブソケットドライバノード WebSocket サーバーとクライアントプロトコルパーサーの node.js - faye-websocket-node で使用されています。

  • faye-websocket-node node.js 用の WebSocket サーバーとクライアント - faye と sockjs で使用されています。

  • ソケット.io node.js用WebSocketサーバーとクライアント + ブラウザ用クライアント + (v0は最新から最古のフォールバック、Socket.ioのv1はengine.ioを使用) + channels - stack.io で使用されています。クライアントライブラリは、切断時に再接続を試みます。

  • ソケットjs node.js などの WebSocket サーバーとクライアント + ブラウザ用クライアント + 最新から最古へのフォールバック

  • フェイ node.jsなどのWebSocketサーバ・クライアント + ブラウザ用クライアント + フォールバック + 他のサーバサイド言語への対応

  • ディープストリーム.io WebSocket と TCP 接続を処理し、データシンク、Pub/Sub、リクエスト/レスポンスを提供するクラスタブルリアルタイムサーバです。

  • ソケットクラスタ マシンのすべてのCPUコアを利用するWebSocketサーバクラスタです。例えば、32コアの巨大なAmazon EC2インスタンスを使用する場合、1つのインスタンスでほぼ32倍のトラフィックを処理することができます。

  • プリムス 上記のほとんどのライブラリに共通のAPIを提供し、簡単に切り替えられるようにするとともに、すべてのライブラリの安定性を向上させます。

いつ使うか

  • クライアント側でネイティブの WebSocket 実装を使用したい場合は、基本的な WebSocket サーバーを使用します。 ブラウザの非互換性

  • ブラウザのフォールバックが気になる場合は、フォールバックライブラリを使用します。

  • チャンネルを重視する場合は、フルフィーチャーライブラリを使用します。

  • 何を使ったらいいかわからない、プロジェクトの要件が変わってフレームワークを変更する必要があるときにアプリケーションを書き直す気分にはなれない、接続の安定性を高めたい、そんなときに primus を使ってください。

テストする場所

ファイアーキャンプ は、SocketIO、WS、および主要なリアルタイム技術に対応したGUIテスト環境です。開発しながらリアルタイムイベントのデバッグができます。