package antLogger.logClient;
import java.net.*;
import java.io.*;
/**
* NetClient -
* Stellt eine Netzwerk Verbindung zur verfügung.
*
* 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$
* @(#) NetClient
*/
public class NetClient extends Thread {
private Socket s;
private PipedInputStream pipe;
private OutputStreamWriter toServer;
private InputStream fromServer;
private int port;
private boolean isRunning = true;
public NetClient(PipedInputStream pipe, int port) {
String hostname = "127.0.0.1";
this.port = port;
try {
s = new Socket(hostname, port);
this.pipe = pipe;
toServer = new OutputStreamWriter (s.getOutputStream());
fromServer = s.getInputStream();
}
catch (Exception ex) {
ex.printStackTrace();
System.exit(-1);
}
}
public void run(){
//long a;
try {
while(isRunning){
while (pipe.available()>0){
//System.out.print((char)pipe.read());
toServer.write(pipe.read());
}
//if ((a = fromServer.available()) > 0) fromServer.skip(a);
sleep(1);
toServer.flush();
}
sleep(100);
toServer.flush();
toServer.close();
s.close();
}
catch (Exception ex) {
ex.printStackTrace();
}
}
public void close(){
isRunning = false;
}
}