diff --git a/src/serverP2P/ServerP2P.java b/src/serverP2P/ServerP2P.java index a1c02ee..b92488b 100644 --- a/src/serverP2P/ServerP2P.java +++ b/src/serverP2P/ServerP2P.java @@ -23,6 +23,7 @@ public class ServerP2P { private Logger logger; private HostItem tracker; private HostItem server; + private boolean isinteractive; /** Constructor with portServerstr containing a port number. * @param hostnameServer binded hostname @@ -30,7 +31,8 @@ public class ServerP2P { * @param hostnameTracker tracker hostname * @param portTracker tracker port */ - public ServerP2P(String hostnameServer, int portServer, String hostnameTracker, int portTracker) { + public ServerP2P(String hostnameServer, int portServer, String hostnameTracker, int portTracker, boolean isinteractive) { + this.isinteractive = isinteractive; Scanner scanner = new Scanner(System.in); server = new HostItem(hostnameServer, portServer); tracker = new HostItem(hostnameTracker, portTracker); @@ -38,7 +40,9 @@ public class ServerP2P { directories.createSubdir(subdir); logger = new Logger(directories.getDataHomeDirectory() + "server.log"); System.out.println("Server will listen on port " + portServer + " and serve files from " + directories.getDataHomeDirectory() + subdir); - directories.askOpenDataHomeDirectory(subdir, scanner); + if(isinteractive){ + directories.askOpenDataHomeDirectory(subdir, scanner); + } scanner.close(); } @@ -56,6 +60,7 @@ public class ServerP2P { String hostnameTracker = ""; int portTracker = 0; Scanner scanner = new Scanner(System.in); + boolean isinteractive = false; if ((args.length != 5) && (args.length != 0)){ System.out.println("usage : java serveurP2P.ServeurP2P (interactive) or java serveurP2P.ServeurP2P -- (" + serverPortRange + " and " + trackerPortRange +")"); @@ -67,6 +72,7 @@ public class ServerP2P { hostnameTracker = args[3]; portTracker = Integer.valueOf(Integer.parseInt(args[4])); } else { + isinteractive = true; System.out.println("Server, enter hostname to bind (default = localhost): "); hostnameServer = scanner.nextLine(); if(hostnameServer.equals("")){ @@ -103,7 +109,7 @@ public class ServerP2P { System.out.println("using port : " + portServer); System.out.println("tracker hostname : " + hostnameTracker); System.out.println("tracker port : " + portTracker); - ServerP2P s = new ServerP2P(hostnameServer, portServer, hostnameTracker, portTracker); + ServerP2P s = new ServerP2P(hostnameServer, portServer, hostnameTracker, portTracker, isinteractive); ServerManagementUDP smudp = new ServerManagementUDP(s.directories.getDataHomeDirectory() + subdir, s.server, s.tracker, s.logger); ServerManagementTCP smtcp = new ServerManagementTCP(s.directories.getDataHomeDirectory() + subdir, s.server, s.tracker, s.logger); Thread tudp = new Thread(smudp);