問題タブ [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.
redis - Redis 接続を閉じる必要がありますか?
イオレディスを使用。を使用していませんredis.disconnect()
が、最近Ready check failed: ERR max number of clients reached
エラーが発生しました。
これは私が閉じていないことに関係していますか?
javascript - Node.JS はどのポートにバインドする必要がありますか?
Node.JSでSocket.ioを使用してリアルタイムチャットを実装しました
私のコンピューターでは機能しなかったことを除いて、すべてが完全に機能します。問題を絞り込んで、ルーターがデフォルトで送信ポート (9239) をブロックしているという事実に絞り込みました。
問題は、私の Web ページのファイアウォールの問題についてランダムなユーザーを診断できないことです。そのため、node.js をどのポートにバインドして、誰もが使用できるようにする必要があるかを知る必要があります。
独自の URL を作成し、それを 80 または 443 にバインドすることもできますが、それは悪い習慣である可能性があります。
node.js - redis を使用して socket.io を水平方向にスケーリングする
現在、次のような水平方向にスケーラブルな socket.io サーバーを作成しています。
私の質問は、socket-io redis モジュールを使用して、すべてが同じ redis サーバーに接続されている場合、バックエンド サーバーの 1 つからプロキシ サーバーの 1 つに接続されている特定のソケットにメッセージを送信できますか? もしそうなら、どうすればいいですか?
node.js - 複数のサーバーで socket.io-redis を使用するには?
私は2台のマシンで次のコードを持っています
そして、これら2台のマシンに接続されているすべてのクライアントのsocket.idを中央データベースに保存します。ソケットのIDが保存され、同じサーバーでのイベント送信は問題なく機能しますが、他のサーバーのソケットにメッセージを送信しようとすると、送信されません仕事..
- redisがうまく機能していることをどうやって知ることができますか?
- 別のサーバーに接続されたソケットにメッセージを送信する方法。
javascript - socket.io-redisがredis 3.0.6で末尾のバイトエラーを取得する
メソッド経由でphpredis
データを送信するために使用しています。node.js を安定バージョン 4.2 にアップグレードした後、モジュールからエラーが発生します。node.js
pubsub
trailing byte
socket.io-redis
node.js
エラー:
問題を解決するために、socket.io
1.36 にダウングレードしましたが、エラーは引き続き発生します。
このスレッドで提案されている解決策に従いましたが、うまくいきません。
1.return_buffers: true をインスタンスに追加しても機能しません。
再起動すると、次の警告が表示されます。
2.依存関係を前回の投稿で提案された msgpack-js-v5 に変更しますが、次のように機能しません。
socket.io-redis/index.js
socket.io-redis/package.json:
それはまさにどこからともなくです。誰かがそれを修正する方法を教えてもらえますか?
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
ますか?
私は間違った方法で行っていますか?
sockets - socket.io の内部ピンポンをリッスンする方法
このソリューションは、内部のピンポンを聞くことに適しています。Socket.io の内部ライブラリ、つまり engine.io は、pong イベントをクライアントに送信した後、'heartbeat' イベントをトリガーします。次のハックを使用して、このイベントを聞くことができます。
新しいファイルで socket.io を上書きしようとしましたが、うまくいきません。現在、次のコードが機能します。
node.js - socket.io-redis で相互に通信している複数の nodejs サーバーがイベントを受信しない
socket.io-redis を使用して、2 つの nodejs サーバーを Redis に接続することができました。「redis-cli monitor」を使用すると、Redis で受信されているイベントを確認できますが、完全には行きません。何かが足りないような気がします。
ここでは、両方のサーバーがどのように見えるか (番号 1 と 2 が逆になっています)
ボタンでイベント アクションがトリガーされたときに、Redis モニターに表示されるのは次のとおりです。
どちらも適切なチャネルにもサブスクライブしています。
私は何かが欠けていますか。redis からイベントをフェッチ/受信するために他に何かしなければならないことはありますか?
javascript - javascriptで未定義と言って、JSONの特定のフィールドにアクセスできません
Laravel + socket.io にプロジェクトがあり、ブロードキャストされている json の特定のフィールドにアクセスする必要があります。これがコードです。
socket.js
私のクライアントソケットには、これがあります。
その後、これは正常に行われ、これに警告します。
それから私がこれを試すとき
また
私は「未定義」を取得します..
どうすれば task_id にアクセスできますか?ありがとう!!!!