Server.java
Created with JBuilder
package antLogger.logServer;

import java.net.*;
import java.io.*;


/**
 * Netzwerk-Server
 * Ein Netzwerk Server, welcher auf einem bestimmten Port wartet
 * und bei einer ankommenden verbindung eine Connection Objekt
 * erzeugt welche dann mit dem Client Kommuniziert.
 * Dieser Server läuft in Einem Thread, so blockiert er nicht die Anwendung, und nimmt
 * maximal 5 Verbindungen pro Sekunden an. Auch nimmt er nur Verbindungen vom localhost (127.0.0.1) an
 *
 * JAVA-Logger antLogger; Projekt der HTA Luzern->Abteilung Informatik->Software Engineering
 * Authoren Patrick Bründler, Pascal Mengelt, Andy Wyss, Fabian Heusser
 * Teacher: Jörg Hofstetter
 * School: hta.fhz.ch, Horw;
 * Project Homepage: http://www.w3p.ch/antLogger/
 *
 *
 * LEGAL NOTICE
 * THIS PROJECT AND ITS FILES ARE COPYRIGHTED BY THE AUTHORS
 * THIS PROJECT CAN BE COPIED, MODIFIED AND DISTRIBUTED
 * UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENCE
 *
 * @author Fabian Heusser
 * @author Patrick Bründler
 * @author Pascal Mengelt
 * @author Andy Wyss
 * @version 1.0 $Date$ $Revision$
 * @(#) Server
 */

public class Server extends Thread{
  private int port;
  private StreamCollector ms;

  /**
   * Konstruirt einen Server welcher auf dem Angegebenen Port hört.
   * @param port int, Portnummer auf welchem der Server Verbindungen entgegen nimmt
   * @param ms MessageServer, dieser nimmt Daten von allen Verbindungen auf und speist sie in einen Stream
   */
  public Server(int port, StreamCollector ms) {
    this.port = port;
    this.start();
    this.ms = ms;
  }

  /**
   * Wartet auf ankommende Verbindungen und erzeugt Connection Objekte.
   */
  public void run(){
    try {
      ServerSocket ss = new ServerSocket(port);
      for (;;){
        Socket client = ss.accept();
        //check hier for access right und Source address***********************************
        (new Connection(client,ms)).start();
        sleep(200); //maximal 5 verbindungen pro sekunde
      }
    } catch (Exception ex) {
      ex.printStackTrace();
    }
  }
}

Server.java
Created with JBuilder