simplified cli usage of server
This commit is contained in:
parent
90872c8f7b
commit
226520e209
@ -1,10 +1,13 @@
|
|||||||
package serverP2P;
|
package serverP2P;
|
||||||
|
|
||||||
|
import java.util.Scanner;
|
||||||
import serverP2P.ServerManagementUDP;
|
import serverP2P.ServerManagementUDP;
|
||||||
import serverP2P.ServerManagementTCP;
|
import serverP2P.ServerManagementTCP;
|
||||||
import tools.Directories;
|
import tools.Directories;
|
||||||
import tools.Logger;
|
import tools.Logger;
|
||||||
import tools.HostItem;
|
import tools.HostItem;
|
||||||
import java.util.Scanner;
|
import tools.TestPort;
|
||||||
|
|
||||||
|
|
||||||
/** Server only implementation
|
/** Server only implementation
|
||||||
* First argument of main method is port listened by the server, and is mandatory.
|
* 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
|
/** Main program entry point
|
||||||
* first parameter is port number and is mandatory
|
* 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
|
* @param args parameters
|
||||||
*/
|
*/
|
||||||
public static void main(String [] args) {
|
public static void main(String [] args) {
|
||||||
if (args[1].equals("help") || args[1].equals("-h") || args[1].equals("h")){
|
final String defaultHostname = "localhost";
|
||||||
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 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{
|
System.out.println("enter port (default = 7070): ");
|
||||||
ServerP2P s = new ServerP2P(args[1], args[2], args[3]);
|
String portServer = scanner.nextLine();
|
||||||
ServerManagementUDP smudp = new ServerManagementUDP(s.directories.getDataHomeDirectory() + subdir, "localhost", s.port, s.logger, s.tracker);
|
if(portServer.equals("")){
|
||||||
ServerManagementTCP smtcp = new ServerManagementTCP(s.directories.getDataHomeDirectory() + subdir, "localhost", s.port, s.logger, s.tracker);
|
portServer = defaultPortServer;
|
||||||
Thread tudp = new Thread(smudp);
|
System.out.println("using default port : " + portServer);
|
||||||
tudp.setName("server UDP P2P-JAVA-PROJECT");
|
|
||||||
tudp.start();
|
|
||||||
Thread ttcp = new Thread(smtcp);
|
|
||||||
ttcp.setName("server TCP P2P-JAVA-PROJECT");
|
|
||||||
ttcp.start();
|
|
||||||
}
|
}
|
||||||
|
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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user