2

ルームを離れるピアと切断されたピアの違いは何ですか。

参加者がルームから切断された場合、その参加者のステータスはどうなりますか? STATUS_JOINED または STATUS_LEFT?

私はかなり長いターン ベースのゲーム (数分のゲームである必要があります) に取り組んでおり、解決したい切断ケースがたくさんあると思います。

切断されたユーザーに招待状を再送信して、部屋に戻すことはできますか?

ルームの作成者が切断され、プレビューが可能だった場合、再接続後も彼はそのゲームの作成者であり続けるでしょうか?

4

1 に答える 1

3

1 つ目の注意点は、Real Time Multiplayer API は実際にはターン制ゲーム向けではないということです。そのため、誰かが部屋から削除された場合、再度追加することはできません。また、Activity がバックグラウンドになると、部屋に留まることはできません。さて、質問に行きます:

  1. 参加者がルームを退室すると、そのステータスは STATUS_LEFT になります。ルーム内にいるがまだ到達できない場合 (つまり、プレーヤーがまだ P2P 接続グラフに含まれていない場合)、それらは STATUS_JOINED 状態にある可能性がありますが、接続されていません。また、バグにより、参加者が STATUS_LEFT を持っているにもかかわらず接続済みとして報告される場合があります。したがって、参加者が「本当にそこにいる」かどうかを確認するロジックでは、参加者が STATUS_JOINED 状態にあり、接続されていることを確認する必要があります (どちらか一方だけではありません)。

  2. 切断されたユーザーに招待状を再送信して、ルームに戻すことはできません。しかし、すべてのプレイヤーがゲームの状態を持っている場合、ゲームを続行するために新しい部屋を最初から構築することを妨げるものは何もありません。もちろん、これはオートマッチでは機能しません (古いルームと同じ参加者で新しいルームをリクエストすることはできないため) が、プレーヤーがサークルの友達と遊んでいる場合には機能します。

  3. 「ルーム オーナー」などというものは存在しません。これは P2P 対称ネットワークです。プレーヤー A がルームを作成し、プレーヤー B とプレーヤー C を招待した場合、プレーヤー A はルームを離れることができ、そのルームは引き続きプレーヤー B と C のために機能します。ルームの作成者がルームに留まる必要はありません。

お役に立てれば!

于 2013-10-07T21:58:25.270 に答える