new Arguments

This commit is contained in:
mrbesen 2017-05-20 15:27:35 +02:00
parent 70421099f0
commit 62c7bfe72c
2 changed files with 33 additions and 7 deletions

View File

@ -10,7 +10,7 @@ Host defaults to "127.0.0.1" and port default to "5454".
ctl + c to stop
##Start a Server
## Start a Server
```
java -jar Server.jar [classname]
```

View File

@ -7,17 +7,43 @@ import Job.JobManager;
public class Starter {
/**
*
* @param args c:[classname] p:[port]
* @throws ClassNotFoundException
*/
public static void main(String[] args) throws ClassNotFoundException {
System.out.println("Starting BesenBoincServer...");
String classname = "Test";//load programm
if(args.length >= 1) {
classname = args[0];
int port = BB.port;
for(String arg : args) {
if(arg.contains(":")) {
String[] split = arg.split(":",2);
if(split[0].equalsIgnoreCase("c")) {
classname = split[1];
} else if(split[0].equalsIgnoreCase("p")) {
try {
port = Integer.parseInt(split[1]);
if(port < 0 | port > 65535) {
throw new NumberFormatException();
}
if(port < 1024) {
System.out.println("Root required to use this port.");
}
} catch(NumberFormatException e) {
System.out.println("Thats not a valid port: " + split[1]);
}
}
} else {
System.out.println("Arguments: c:[classfile] p:[port]");
System.exit(1);
}
}
Program prog = null;
prog = loadProgram(classname);
Server server = (new Server()).setProgram(prog).open();//start server
Server server = (new Server()).setProgram(prog).open(port);//start server
boolean run = true;
Scanner s = new Scanner(System.in);
while(run) {
@ -27,9 +53,9 @@ public class Starter {
Server.getServer().close();
run = false;
} else if(in.equalsIgnoreCase("stats")) {
JobManager jmanager = server.getProgram().jobmanager;
System.out.println("\nStats:\nTasks done : " + jmanager.jobs_done() + "\nTasks compiled: " + jmanager.jobs_compiled() + "/" + jmanager.jobs_compiledtarget() + "\nTasks enqued : " + jmanager.jobs_enqued() + "\n--------------------\ntotal : " + jmanager.jobs_total()+ "\n");
}else {
JobManager jm = server.getProgram().jobmanager;
System.out.println("\nStats:\nTasks done : " + jm.jobs_done() + "\nTasks compiled: " + jm.jobs_compiled() + "/" + jm.jobs_compiledtarget() + "\nCurrently Compiling: " + jm.isCompiling() + "\nTasks enqued : " + jm.jobs_enqued() + "\n--------------------\ntotal : " + jm.jobs_total()+ "\nConnections: " + server.getConnectionCount());
} else {
System.out.println("unknown Command.");
}
}