import java.io.IOException; import java.net.ServerSocket; public class Server { private ServerSocket serverSocket; public Server (ServerSocket serverSocket) { this.serverSocket = serverSocket; } public void startServer() { try { // Socket socket = serverSocket.accept(); while (!serverSocket.isClosed()) { System.out.println("A new client connected!"); ClientHandle clientHandle = new ClientHandle(serverSocket.accept()); Thread thread = new Thread(clientHandle); thread.start(); } } catch (IOException e) { closeServerSocket(); } } public void closeServerSocket() { if (serverSocket != null) { try { serverSocket.close(); } catch (IOException e) { e.printStackTrace(); } } } public static void main(String[] args) throws IOException { ServerSocket serverSocket = new ServerSocket(8512); Server server = new Server(serverSocket); server.startServer(); } }