問題タブ [socket.io-redis]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1578 参照

redis - Redis 接続を閉じる必要がありますか?

イオレディスを使用。を使用していませんredis.disconnect()が、最近Ready check failed: ERR max number of clients reachedエラーが発生しました。

これは私が閉じていないことに関係していますか?

0 投票する
1 に答える
72 参照

javascript - Node.JS はどのポートにバインドする必要がありますか?

Node.JSでSocket.ioを使用してリアルタイムチャットを実装しました

私のコンピューターでは機能しなかったことを除いて、すべてが完全に機能します。問題を絞り込んで、ルーターがデフォルトで送信ポート (9239) をブロックしているという事実に絞り込みました。

問題は、私の Web ページのファイアウォールの問題についてランダムなユーザーを診断できないことです。そのため、node.js をどのポートにバインドして、誰もが使用できるようにする必要があるかを知る必要があります。

独自の URL を作成し、それを 80 または 443 にバインドすることもできますが、それは悪い習慣である可能性があります。

0 投票する
2 に答える
4800 参照

node.js - redis を使用して socket.io を水平方向にスケーリングする

現在、次のような水平方向にスケーラブルな socket.io サーバーを作成しています。

私の質問は、socket-io redis モジュールを使用して、すべてが同じ redis サーバーに接続されている場合、バックエンド サーバーの 1 つからプロキシ サーバーの 1 つに接続されている特定のソケットにメッセージを送信できますか? もしそうなら、どうすればいいですか?

0 投票する
2 に答える
1702 参照

node.js - 複数のサーバーで socket.io-redis を使用するには?

私は2台のマシンで次のコードを持っています

そして、これら2台のマシンに接続されているすべてのクライアントのsocket.idを中央データベースに保存します。ソケットのIDが保存され、同じサーバーでのイベント送信は問題なく機能しますが、他のサーバーのソケットにメッセージを送信しようとすると、送信されません仕事..

  1. redisがうまく機能していることをどうやって知ることができますか?
  2. 別のサーバーに接続されたソケットにメッセージを送信する方法。
0 投票する
1 に答える
537 参照

javascript - socket.io-redisがredis 3.0.6で末尾のバイトエラーを取得する

メソッド経由でphpredisデータを送信するために使用しています。node.js を安定バージョン 4.2 にアップグレードした後、モジュールからエラーが発生します。node.jspubsubtrailing bytesocket.io-redis

node.js

エラー:

問題を解決するために、socket.io1.36 にダウングレードしましたが、エラーは引き続き発生します。

このスレッドで提案されている解決策に従いましたが、うまくいきません。

1.return_buffers: true をインスタンスに追加しても機能しません。

再起動すると、次の警告が表示されます。

2.依存関係を前回の投稿で提案された msgpack-js-v5 に変更しますが、次のように機能しません。

socket.io-redis/index.js

socket.io-redis/package.json:

それはまさにどこからともなくです。誰かがそれを修正する方法を教えてもらえますか?

0 投票する
1 に答える
1399 参照

node.js - 複数のノードを持つマルチプレイヤー ゲーム サーバー

Counter-Strike サーバーを作成しているとします。1 つのロビーと、ゲーム セッションが行われる複数の部屋があります。

IE 3 ノード サーバー、nginx ロード バランサー、redis があります。

スキーマ

私はredisアダプターでsocket.ioを使用しているので、任意のサーバー上のすべてのクライアントにメッセージを送信できます。

一つ理解できません。たとえば、次のようなものがあります。

たとえば、このコードを書きました。

たとえば、user_1 は node-1 にあり、user-2 は node-2 にあります。

user_1 がゲームを作成すると、インスタンスが作成され、node-1 に保存されます。

そのため、user_2 が作成されたゲームに関する情報を受け取り、参加ボタンをクリックすると、クライアントはサーバーにリクエストを送信し、ノード 2 には user_1 が作成したゲーム インスタンスは存在しません。

私が話していることを理解していただければ幸いです (私の英語は上手ではありません)。

currentGamesゲームインスタンスのオブジェクトは、すべてのノードに対してグローバルでなければならないと思います。しかし、方法がわかりません。

ゲーム情報の保存には、代わりに redis や mongo などを使用する必要がありvariableますか?

私は間違った方法で行っていますか?

0 投票する
1 に答える
1642 参照

sockets - socket.io の内部ピンポンをリッスンする方法

このソリューションは、内部のピンポンを聞くことに適しています。Socket.io の内部ライブラリ、つまり engine.io は、pong イベントをクライアントに送信した後、'heartbeat' イベントをトリガーします。次のハックを使用して、このイベントを聞くことができます。

新しいファイルで socket.io を上書きしようとしましたが、うまくいきません。現在、次のコードが機能します。

0 投票する
1 に答える
132 参照

node.js - socket.io-redis で相互に通信している複数の nodejs サーバーがイベントを受信しない

socket.io-redis を使用して、2 つの nodejs サーバーを Redis に接続することができました。「redis-cli monitor」を使用すると、Redis で受信されているイベントを確認できますが、完全には行きません。何かが足りないような気がします。

ここでは、両方のサーバーがどのように見えるか (番号 1 と 2 が逆になっています)

ボタンでイベント アクションがトリガーされたときに、Redis モニターに表示されるのは次のとおりです。

どちらも適切なチャネルにもサブスクライブしています。

私は何かが欠けていますか。redis からイベントをフェッチ/受信するために他に何かしなければならないことはありますか?

0 投票する
2 に答える
169 参照

javascript - javascriptで未定義と言って、JSONの特定のフィールドにアクセスできません

Laravel + socket.io にプロジェクトがあり、ブロードキャストされている json の特定のフィールドにアクセスする必要があります。これがコードです。

socket.js

私のクライアントソケットには、これがあります。

その後、これは正常に行われ、これに警告します。

それから私がこれを試すとき

また

私は「未定義」を取得します..

どうすれば task_id にアクセスできますか?ありがとう!!!!