simplified cli usage of server

This commit is contained in:
Flavien Haas 2020-03-23 17:15:03 +01:00 committed by Louis
parent 90872c8f7b
commit 226520e209

View File

@ -1,10 +1,13 @@
package serverP2P;
import java.util.Scanner;
import serverP2P.ServerManagementUDP;
import serverP2P.ServerManagementTCP;
import tools.Directories;
import tools.Logger;
import tools.HostItem;
import java.util.Scanner;
import tools.TestPort;
/** Server only implementation
* First argument of main method is port listened by the server, and is mandatory.
@ -37,23 +40,70 @@ public class ServerP2P {
/** Main program entry point
* first parameter is port number and is mandatory
* to test, run with: java -ea serverP2P.ServerP2P -- <portNumber> <TrackerHostname> <TrackerPort>
* to test, run with: java -ea serverP2P.ServerP2P
* @param args parameters
*/
public static void main(String [] args) {
if (args[1].equals("help") || args[1].equals("-h") || args[1].equals("h")){
System.out.println("usage : java serveurP2P.ServeurP2P or java serveurP2P.ServeurP2P -- <serveurPORT> <trackerHOSTNAME> <trackerPORT> (default for server localhost:7070 and tracker localhost:6969, range 7000 -> 7999)");
final String defaultHostname = "localhost";
final String defaultPortServer = "7070";
final String defaultPortTracker = "6969";
Scanner scanner = new Scanner(System.in);
TestPort testPort = new TestPort();
System.out.println("Server, enter hostname to bind (default = localhost): ");
String hostnameServer = scanner.nextLine();
if(hostnameServer.equals("")){
hostnameServer = defaultHostname;
System.out.println("using default hostname : " + hostnameServer);
} else{
System.out.println("using hostname : " + hostnameServer);
}
else{
ServerP2P s = new ServerP2P(args[1], args[2], args[3]);
ServerManagementUDP smudp = new ServerManagementUDP(s.directories.getDataHomeDirectory() + subdir, "localhost", s.port, s.logger, s.tracker);
ServerManagementTCP smtcp = new ServerManagementTCP(s.directories.getDataHomeDirectory() + subdir, "localhost", s.port, s.logger, s.tracker);
Thread tudp = new Thread(smudp);
tudp.setName("server UDP P2P-JAVA-PROJECT");
tudp.start();
Thread ttcp = new Thread(smtcp);
ttcp.setName("server TCP P2P-JAVA-PROJECT");
ttcp.start();
System.out.println("enter port (default = 7070): ");
String portServer = scanner.nextLine();
if(portServer.equals("")){
portServer = defaultPortServer;
System.out.println("using default port : " + portServer);
}
else {
if(!testPort.testPortServer(Integer.parseInt(portServer))){
System.out.println("Wrong port (7000 -> 7999), using default port 7070");
portServer = defaultPortServer;
} else {
System.out.println("using port : " + portServer);
}
}
System.out.println("enter hostname of tracker (default = localhost): ");
String hostnameTracker = scanner.nextLine();
if(hostnameTracker.equals("")){
hostnameTracker = defaultHostname;
System.out.println("tracker default hostname : " + hostnameTracker);
} else{
System.out.println("tracker hostname : " + hostnameTracker);
}
System.out.println("enter tracker's port (default = 6969): ");
String portTracker = scanner.nextLine();
if(portTracker.equals("")){
portTracker = defaultPortTracker;
System.out.println("using default port : " + portTracker);
}
else {
if(!testPort.testPortTracker(Integer.parseInt(portTracker))){
System.out.println("Wrong port (6000 -> 6999), using default port 6969");
portTracker = defaultPortTracker;
} else {
System.out.println("using port : " + portTracker);
}
}
ServerP2P s = new ServerP2P(portServer, hostnameTracker, portTracker);
ServerManagementUDP smudp = new ServerManagementUDP(s.directories.getDataHomeDirectory() + subdir, hostnameServer, s.port, s.logger, s.tracker);
ServerManagementTCP smtcp = new ServerManagementTCP(s.directories.getDataHomeDirectory() + subdir, hostnameServer, s.port, s.logger, s.tracker);
Thread tudp = new Thread(smudp);
tudp.setName("server UDP P2P-JAVA-PROJECT");
tudp.start();
Thread ttcp = new Thread(smtcp);
ttcp.setName("server TCP P2P-JAVA-PROJECT");
ttcp.start();
}
}