Connection.java
Created with JBuilder
package antLogger.logServer;

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

/**
 * Connection
 * Diese Klasse Stellt eine Verbindung mit einem Client dar.
 * Diese läuft in einem Tread, trennt der Client die Verbindung, stribt der Thread.
 * Alle ankommenenden Daten leitet er an den Message Server weiter
 *
 * 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$
 * @(#) Connection
 */

public class Connection extends Thread {
  private Socket client;
  private Server server;
  private StreamCollector ms;

  /**
   * Erstellt eine Verbindung
   * @param client Socket, Verbindungs Socket, rückgabe wert von ServerSocket.accept()
   * @param ms MessageServer, hierher fliessen alle Empfangenen Zeilen.
   */
  public Connection(Socket client, StreamCollector ms) {
    this.client = client;
    this.server = server;
    this.ms = ms;
  }


  /**
   * Startet den Thread
   * Es werden Daten vom Socket Gelesen. Diese Daten werden einerseits wieder an den
   * Client zurückgesendet und andererseits an den Messageserver weitergeleitet
   */
  public void run() {
    String data;
    try {
      this.sleep(100);
      InputStream inS = client.getInputStream();
      BufferedReader in = new BufferedReader ( new InputStreamReader(client.getInputStream()));
      PrintWriter out = new PrintWriter (new OutputStreamWriter(client.getOutputStream()));

      /*long time;
      long i=0;
      try {for (;;){
            //while ((s = input.readLine()) != null){System.out.print(s);}  //funtioniert nicht da....
            time = System.currentTimeMillis();
            while (inS.available()>0){/*System.out.print((char)inS.read());*//*i++;}
            if (i>0) {
              System.out.println();
              System.out.println("----------------");
              System.out.println("Input Statistic:" + (double)(1.0/((System.currentTimeMillis()-time)/1000.0)) * i + " ch/s" );
              System.out.println("----------------");
              i = 0;
            }
            sleep(1);
        }} catch (Exception ex) {ex.printStackTrace();}*/

      while ((data = in.readLine()) != null) {
        ms.append(data);
        //out.println(data); //send the data right back...
        //out.flush();
      }
      client.close();
    }
    catch (Exception ex) {
      //System.out.println("Connection Broken; Exeption:");
      ex.printStackTrace();
    }
  }
}

Connection.java
Created with JBuilder