61 lines
1.6 KiB
Java

package at.reisinger.server;
import at.reisinger.server.objects.Request;
import at.reisinger.server.objects.Response;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
/**
* Grundlegende Server logic
* Vereint alle anderen Klassen
*/
public class Main {
static final int port = 10001;
private Socket socket;
/**
* Initial Start
* @param args Nicht Verwendet
*/
public static void main(String[] args) {
new DBConnection().init();
System.out.println("\n\nStarte Server auf Port " + port + "\n\n");
new Main(port);
}
/**
* Öffnet den Server Socket und akzepiert diesen
* @param port Port auf dem der Server läuft
*/
public Main(int port){
ServerSocket serverSocket;
try {
serverSocket = new ServerSocket(port);
//noinspection InfiniteLoopStatement
while (true){
this.socket = serverSocket.accept();
requestResponding();
}
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* Jeder Request durchläuft diese Funktion, reagiert auf requests
*/
public void requestResponding(){
try{
System.out.println("Socket wurde gestartet!");
Request rq = new Request(this.socket);
new Response(rq.getUrl(), rq.getCmd(), rq.getOut(), rq.getAuthString(), rq.getPayload());
this.socket.close();
System.out.println("Socket wurde geschlossen!");
}catch (IOException e){
e.printStackTrace();
}
}
}