Java (クライアントとサーバーの両方) でマルチプレイヤー ターン ベースの戦略ゲームを開発しています。私はネットワーク ゲームの経験はあまりありませんが、マルチクライアント チャットやソケットを使用した 2 プレーヤーの三目並べなどの小さなことはしました。これをコーディングしてくれる人を探しているわけではありませんが、ガイダンスを教えてください。
ゲームは複数の段階を経ます。最初にユーザーが接続してログインします。彼がゲームをホスト/参加するオプションを与えられた後. 彼がゲームに参加するか、誰かが彼のゲームに参加した後、クライアントはゲーム ステージに移動します。ゲームは 1 対 1 で、5 秒ごとにデータを送受信するだけで済みます (それが重要な場合は?)。これらの「段階」を通過するようにクライアント/サーバーを設計する方法について、いくつかのガイダンスが必要です。
これは私が現在それを実装することを考えている方法です:
接続が確立されると、接続には、サーバーの状態を記述する対応する変数が含まれます。例: 0 はログイン前、1 はログイン後、2 はホスティングなど...
クライアントがサーバーにデータを送信するたびに、状態を確認し、それに応じて処理します。ログイン前と同様に、データが送信された場合、サーバーはそれがログインの詳細であると想定し、それらが有効な場合は変数を 1 に変更し、クライアントに先に進むように指示します。
これを行うより良い方法はありますか?