1

プレイヤーが独自のクライアントを使用し、サーバーがすべてのデータ処理を処理する、ネットワーク化されたマルチプレイヤーゲームを作成しています...

1つのサーバーでゲームの書き込みを終了しました。

私がやりたいことは、さまざまなゲームルームに関する情報を送信するメインサーバーを用意し、プレーヤーが必要なゲームルームに接続できるようにすることです。

私が念頭に置いているのは、プレーヤーが新しいゲームルームのセットアップをクリックすると、クライアントはサーバーに新しいゲームをセットアップするように指示し、新しいサーバーを作成してそのサーバーに関する情報をメインサーバーに追加することです.

私はセカンダリサーバーを維持していArrayListます...

String line = in.nextLine();

if (line.equalsIgnoreCase("new game")) {
servers.add(new SecondaryServers(secondaryPort)); // starting secondary server
secondaryPort++; // this is to keep track of port number
System.out.println(i + " secondary server(s) started"); // printout in main server's console
 }

そのようにすると、最初は新しいサーバーを起動しましたが、コンソールに出力する状態にはなりません。

メインサーバーから新しいサーバーを作成するのを手伝ってください:)

4

1 に答える 1

1

ServerSocket.accept()内から呼び出されるメソッドがあると思いますSecondaryServers。はブロッキング メソッドであるため、新しいスレッドでaccept()開始する必要があります。SecondaryServers

于 2013-02-08T04:43:07.740 に答える