1

websockets と socket.io を使用してシンプルなマルチプレイヤー ゲームを作ろうとしています。

ほとんどの機能が動作していますが、今の問題は、勝者が誰であるかを見つけることです。

そこで、私たちが今実装しようとしている解決策は、実行時にソケットを取得することです。プレイヤーが死ぬと、ソケットはサーバーにメッセージを送信します。サーバーは、このメッセージを受信すると、プロパティ「dead」をソケットに追加します。プレイヤーsocket.dead = trueが死ぬと設定されます。

次に、接続されているソケットのリスト (動的に取得) をチェックして、生き残っているプレーヤーが 1 つだけかどうかを確認します (socket.dead が定義されているかどうかをチェックします)。私たちが気付いたことの 1 つは、接続されたソケットの socket.ids が実際に変更されることです。これは私たちにとって問題であることが証明されています...

問題は、ソケット ID がいつ、どこで変更されるのか、そしてこれらの変更をどのように検出してゲーム データを更新できるのかということです。

ありがとう

4

1 に答える 1

0

ソケット ID を確認するのではなく、ユーザーが Socket.IO ( ) に接続するたびにユーザーを認証する必要がありますsocket.user = username

次に、「生きている」プレーヤーの ID を確認する代わりに、ユーザー名を確認できます。

Express および Socket.IO を使用したセッションの処理について詳しくは、http ://www.danielbaulig.de/socket-ioexpress/ をご覧ください。

于 2012-06-12T19:09:04.347 に答える