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