|
|
|
@ -1,6 +1,7 @@
|
|
|
|
|
package serverP2P;
|
|
|
|
|
|
|
|
|
|
import java.util.Scanner;
|
|
|
|
|
import javafx.util.Pair;
|
|
|
|
|
import serverP2P.ServerManagementUDP;
|
|
|
|
|
import serverP2P.ServerManagementTCP;
|
|
|
|
|
import tools.Directories;
|
|
|
|
@ -47,63 +48,79 @@ public class ServerP2P {
|
|
|
|
|
final String defaultHostname = "localhost";
|
|
|
|
|
final String defaultPortServer = "7070";
|
|
|
|
|
final String defaultPortTracker = "6969";
|
|
|
|
|
String hostnameServer = "";
|
|
|
|
|
String portServer = "";
|
|
|
|
|
String hostnameTracker = "";
|
|
|
|
|
String portTracker = "";
|
|
|
|
|
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);
|
|
|
|
|
}
|
|
|
|
|
System.out.println("enter port (default = 7070): ");
|
|
|
|
|
String portServer = scanner.nextLine();
|
|
|
|
|
if(portServer.equals("")){
|
|
|
|
|
portServer = defaultPortServer;
|
|
|
|
|
System.out.println("using default port : " + portServer);
|
|
|
|
|
if ((args.length != 5) && (args.length != 0)){
|
|
|
|
|
System.out.println("usage : java serveurP2P.ServeurP2P (interactive) or java serveurP2P.ServeurP2P -- <serveurHOSTNAME> <serveurPORT> <trackerHOSTNAME> <trackerPORT>");
|
|
|
|
|
}
|
|
|
|
|
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);
|
|
|
|
|
else{
|
|
|
|
|
if(args.length == 5){
|
|
|
|
|
hostnameServer = args[1];
|
|
|
|
|
portServer = args[2];
|
|
|
|
|
hostnameTracker = args[3];
|
|
|
|
|
portTracker = args[4];
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
System.out.println("Server, enter hostname to bind (default = localhost): ");
|
|
|
|
|
hostnameServer = scanner.nextLine();
|
|
|
|
|
if(hostnameServer.equals("")){
|
|
|
|
|
hostnameServer = defaultHostname;
|
|
|
|
|
System.out.println("using default hostname : " + hostnameServer);
|
|
|
|
|
}
|
|
|
|
|
System.out.println("enter port (default = 7070): ");
|
|
|
|
|
portServer = scanner.nextLine();
|
|
|
|
|
if(portServer.equals("")){
|
|
|
|
|
portServer = defaultPortServer;
|
|
|
|
|
System.out.println("using default port : " + portServer);
|
|
|
|
|
}
|
|
|
|
|
System.out.println("enter hostname of tracker (default = localhost): ");
|
|
|
|
|
hostnameTracker = scanner.nextLine();
|
|
|
|
|
if(hostnameTracker.equals("")){
|
|
|
|
|
hostnameTracker = defaultHostname;
|
|
|
|
|
System.out.println("tracker default hostname : " + hostnameTracker);
|
|
|
|
|
}
|
|
|
|
|
System.out.println("enter tracker's port (default = 6969): ");
|
|
|
|
|
portTracker = scanner.nextLine();
|
|
|
|
|
if(portTracker.equals("")){
|
|
|
|
|
portTracker = defaultPortTracker;
|
|
|
|
|
System.out.println("using default port : " + portTracker);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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("using hostname : " + hostnameServer);
|
|
|
|
|
Pair<Integer, String> PtestPortServer = testPort.testPortServer(Integer.parseInt(portServer));
|
|
|
|
|
if(PtestPortServer.getKey() == 0){
|
|
|
|
|
System.out.println("using port : " + portServer);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
System.out.println(PtestPortServer.getValue());
|
|
|
|
|
portServer = defaultPortServer;
|
|
|
|
|
}
|
|
|
|
|
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 {
|
|
|
|
|
|
|
|
|
|
Pair<Integer, String> PtestPortTracker = testPort.testPortTracker(Integer.parseInt(portTracker));
|
|
|
|
|
if(PtestPortTracker.getKey() == 0){
|
|
|
|
|
System.out.println("using port : " + portTracker);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
System.out.println(PtestPortTracker.getValue());
|
|
|
|
|
portTracker = defaultPortTracker;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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();
|
|
|
|
|
}
|
|
|
|
|
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();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|