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(); } } }