[解決済み] Node.jsで使用するwebsocketライブラリはどれですか?[クローズド]
質問
現在では ウェブソケットライブラリの数々 node.jsのための、最も人気のあるようです。
- https://github.com/Worlize/WebSocket-Node
- https://github.com/einaros/ws
- https://github.com/LearnBoost/engine.io
- https://github.com/learnboost/socket.io
- https://github.com/sockjs
しかし、どれもしっかりとした具体的な比較対象が見つからない...。 どうやら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テスト環境です。開発しながらリアルタイムイベントのデバッグができます。
関連
-
[解決済み] 再インストールを繰り返しても、npm run でモジュール 'sass' が見つからない。
-
[解決済み] Node.jsのプログラムにコマンドライン引数を渡すにはどうしたらいいですか?
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] Node.jsで終了する方法
-
[解決済み] Node.jsでファイルを書き込む
-
[解決済み] Node.jsアプリケーションをデバッグするにはどうすればよいですか?
-
[解決済み] Node.jsのmodule.exportsの目的と使い方を教えてください。
-
[解決済み] Node.jsで環境変数を読み込む
-
[解決済み] Node.jsでファイル/ディレクトリが存在するかどうかを同期的にチェックする
-
[解決済み] Node.jsで現在のスクリプトのパスを取得するにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】モジュール 'internal/util/types' が見つかりません。
-
[解決済み】Mongooseで配列の値を更新する方法
-
[解決済み】npm 5で作成されたpackage-lock.jsonファイルはコミットするのでしょうか?
-
[解決済み] のエラーが発生しました。これはおそらくnpmの問題ではありません。上に追加のログ出力があると思われます
-
[解決済み] のエラーが発生しました。これはおそらくnpmの問題ではありません。上に追加のログ出力があると思われます
-
[解決済み] Npmエラー - Windows NT - 解決方法
-
[解決済み] エラーメッセージ MongoError: bad auth URI 文字列で認証に失敗しました。
-
[解決済み] node.jsのセットアップウィザードが途中で終了してしまう
-
[解決済み] DynamoDBで一括削除するにはどうしたらいいですか?
-
[解決済み] "app.use(express.cookieSession())" に "secret" オプションが必要です。