/*
 * "Grundkurs Programmieren in Java - Band 2 (2. Auflage, 2006)I"
 * 2003-2006, Carl Hanser Verlag
 * Loesungsvorschlag zu Aufgabe ? (Version 2.0)
 * (c) 2003-2006 D. Ratz, J. Scheffler, D. Seese, J. Wiesenberger
 *
 */

import java.io.*;
import java.net.*;
class EuroServer {
  static boolean serverAktiv = true;
  public static void main(String[] args) {
    // Argumentanzahl überprüfen
    if (args.length == 1) {
      // Port-Nummer bestimmen
      int port = Integer.parseInt(args[0]);
      // Try-Catch-Block beginnen
      try {
        // Server-Steuerung aktivieren
        new SteuerDienst().start();
        // Einen Socket für den Server erzeugen
        ServerSocket server = new ServerSocket(port);
        System.out.println("Der Server laeuft.");
        // "Endlos"-Schleife
        while (serverAktiv) {
          // Für jeden Client, der eine Verbindung aufbaut,
          // einen EuroThread starten
          new EuroThread(server.accept()).start();
        }
      } 
      catch (IOException e) {
        e.printStackTrace();
      }
      System.out.println("Der Server ist beendet.");
    }
    else {
      // Hinweis für korrekten Aufruf auf die Konsole ausgeben
      System.out.println("Aufruf: java EuroServer <PortNummer>");
    }
  }
}
