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()方法是从内部调用的SecondaryServersaccept()是一种阻塞方法,因此您应该从SecondaryServers一个新线程开始。

于 2013-02-08T04:43:07.740 回答