我正在编写一个网络多人游戏,玩家使用他们自己的客户端和服务器处理所有数据处理......
我已经用一台服务器完成了游戏的写作。
我想要做的是,我将有一个主服务器,它将发送有关不同游戏室的信息,玩家将能够连接到他们想要的游戏室。
我想到的是,如果玩家点击设置新游戏室,客户端将告诉服务器设置新游戏,这将创建一个新服务器并将有关该服务器的信息添加到主服务器。
我将辅助服务器保留为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
}
当我这样做时,它第一次启动了一个新的服务器,但是它永远不会进入打印到控制台的状态。
请帮我从主要服务器创建新服务器:)
答案 0 :(得分:1)
我认为在ServerSocket.accept()
内调用SecondaryServers
方法。 accept()
是一种阻止方法,因此您应该在新的线程中启动SecondaryServers
。