私はnode.jsでリアルタイムゲームを開発しています(もっと遊んでいます)、私はRedisとSockets.ioも使用しています。プレイヤーにロビーを作って参加させる(プレゲームのチャットルームのようなもので、プレイヤーと話したり、ゲーム設定を選択することができます)。クライアントはHTML/CSS/JSで書かれています。とにかく、プレイヤーがロビーから切断されたときに、インターフェイスに参加したプレーヤーの数を更新する(そして参加したプレイヤーの名前を更新する)ことができます。私が考えているnodejでオンラインになっているユーザーを追跡する最善の方法は何ですか?
つのオプションがあります:それは時間のX量に更新されていない場合
Redisのキー値のタイムアウト機能を使用するには、特定のフィールドを削除します。私はその後、DCのチェックを行うために、このフィールドの存在をホストがチェックするようにします。私はこれが非常に非効率的で、多くのユーザーが潜在的にプレイしているのではないかと疑問に思っています。したがって、redisで多くのタイムアウト値を持つことや、
( 'disconnect'、..)のsockets.ioを使用してフィールドを更新することができます。しかし、たとえば、ユーザーのPCがフリーズするとこのイベントが発生するかどうかはわかりません。
とにかく私は他のアイデアも開いています。
そうです、それは、今でも、「切断」イベントが解雇されることを意味しますか? (設定されている時間の長さにかかわらず15秒間待たなければならない場合でも) –