/* Diese Klasse kann dazu genutzt werden um die Eingabestrings von ChatWindow zu lesen und sie an den Socket zu uebergeben,
   der ihr übergeben wurde. Momentan wird mit einem Thread gewartet, damit der user Zeichen eingeben kann.
   Andere Moeglichkeit mit einem "Senden" Button das ganze zu realisieren. Ist dann aber kein richtiger Chat mehr.
*/
import java.io.*;
import java.net.*;

public class JConsole extends Thread {    
    //protected BufferedReader in;
    protected PrintWriter out;			// Ausgabestream auf Socket
               ChatWindow cw;

    public JConsole(Socket socket, ChatWindow cw) {
    	    this.cw = cw;
        try {	// Ein Stream zum Schreiben auf dem Socket
              out = new PrintWriter(socket.getOutputStream());
              //in = new BufferedReader(new InputStreamReader(System.in));

        }catch (IOException e) { System.err.println("Error: " + e);}
    }
   
    public void run() {
        String line;
        Thread warten = new Thread();

            while (true) {

                try{
                 /*immer 5 sekunden warten bis ein neuer string geholt wird*/
                 warten.sleep(5000);

                 line = cw.getNewString();      // Zeile vom ChatWindow lesen
                 if (line == null) break;
                 if(line.equals("")) warten.sleep(5000);
                 send(line); // ...und zum Server schicken

                }catch(Exception e){;}
            }
                
    }

    public void send(String line) {
        if (line != null) {					// Zeile an Socket ausgeben
            out.println(line);
            System.out.println("Das kommt von JConsole::"+line);
            out.flush();
        }
    }

    public void finalize() {
        out.close();						// Ausgabestream schließen
    }
}
