private static void serverWaiting() throws Exception { System.out.println("Waiting Mode"); ServerSocket waitingSocket = new ServerSocket(serverInfo.getPort()); String line; while (true) { Socket connectionSocket = waitingSocket.accept(); BufferedReader in = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream())); DataOutputStream out = new DataOutputStream(connectionSocket.getOutputStream()); // System.out.println("Waiting for migration"); line = in.readLine(); // System.out.println("Received: " + line); String info = line; out.writeBytes("Info OK\n"); line = in.readLine(); // System.out.println("Received: " + line); serverInit(); game.setMoving(true); reconstruction(info); out.writeBytes("Bind OK\n"); waitingSocket.close(); break; } while (!allConnected) { System.out.print(""); } game.setMoving(false); // System.out.println("Fin server waiting"); serverRunning(); }
private static void recuperacionFallas() { File file = new File(serverName + ".swp"); if (file.exists()) { try { System.out.println("Un fichero de salvaguarda es presente:"); System.out.println("Quiere recuperar el antiguo juego(y/n)?"); BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); while (true) { String s = in.readLine(); if (s.equals("y")) { recuperationServer(); InputStream ips = new FileInputStream(serverName + ".swp"); InputStreamReader ipsr = new InputStreamReader(ips); BufferedReader br = new BufferedReader(ipsr); String info = br.readLine(); reconstruction(info); game.setRecoveringServer(false); break; } else if (s.equals("n")) { serverInit(); break; } } } catch (FileNotFoundException e) { System.out.println("Failed to wait"); } catch (IOException e) { System.out.println("Failed to wait"); } } else serverInit(); saveStateServer(); }
public static void main(String[] args) { // Establecimiento del game en el rmiserver if (args.length == 0) { System.out.println("Wrong number of argument"); System.exit(1); } listAddr = new ListAddr(); serverInfo = listAddr.getServer(args[args.length - 1]); serverName = args[args.length - 1]; if (args.length == 2 && args[0].equals("wait")) { try { serverWaiting(); } catch (Exception e) { System.out.println("Failed to wait"); } } else { if (args.length == 2) numPlayer = Integer.parseInt(args[0]); serverInit(); File file = new File(serverName + ".swp"); if (file.exists()) { try { InputStream ips = new FileInputStream(serverName + ".swp"); InputStreamReader ipsr = new InputStreamReader(ips); BufferedReader br = new BufferedReader(ipsr); String info = br.readLine(); reconstruction(info); } catch (FileNotFoundException e) { System.out.println("Failed to wait"); } catch (IOException e) { System.out.println("Failed to wait"); } } saveStateServer(); serverRunning(); } }