G
Gast23
Gast
Hallo Forum,
versuche 2 programme laufen zu lassen. Das Eine soll über den Status des Anderen berichten, spricht irgendwie müssen die wohl voneinander wissen. Wenn also mein "Server" abstürzen oder sich aufhängen sollte, mein "Client" soll mich entsprechend benachrichtigen. Die Idee ist also einen Server und einen Client laufen zu lassen. Hab folgenden Code zusammen:
Nun, der erste Durchlauf ist OK, danach bleibt alles stehen. Ich möchte es so in etwa einrichten dass ich alle 10 Sekunden abfragen kann ob der Server noch läuft. Wenn nicht halt die Meldung auf die ich dann reagiere.
Weiss einer eventuell welche Codeänderungen dafür nötig wären hierbei?
Danke für jede Hilfe
Gruß
versuche 2 programme laufen zu lassen. Das Eine soll über den Status des Anderen berichten, spricht irgendwie müssen die wohl voneinander wissen. Wenn also mein "Server" abstürzen oder sich aufhängen sollte, mein "Client" soll mich entsprechend benachrichtigen. Die Idee ist also einen Server und einen Client laufen zu lassen. Hab folgenden Code zusammen:
Code:
public class Client extends Thread{
public Client() {
}
public static void main( String args[] ) {
new Client().start();
}
public void run() {
try{
Socket server = new Socket( "localhost", 3141 );
InputStream in = server.getInputStream();
OutputStream out = server.getOutputStream();
int antwort=0;
while(true){
out.write(1);
antwort = in.read();
if (antwort == 1)
System.out.println("Antwort vom Server ist: Ich lebe! :-)");
else
System.out.println("Keine Rückmeldung vom Server!!!!!");
Thread.sleep(1000);
}
}catch(Exception w){
System.out.println(w.getLocalizedMessage());
}
}
}
public class EchoServer extends Thread{
public static void main( String args[] ) throws IOException {
new EchoServer().start();
}
public void run() {
try{
ServerSocket server = new ServerSocket( 3141 );
while ( true ) {
Socket client = server.accept();
InputStream in = client.getInputStream();
OutputStream out = client.getOutputStream();
int antwort = in.read();
out.write( antwort );
Thread.sleep(100);
client.close();
}
}catch (Exception e){
System.out.println(e.getLocalizedMessage());
}
}
}
Nun, der erste Durchlauf ist OK, danach bleibt alles stehen. Ich möchte es so in etwa einrichten dass ich alle 10 Sekunden abfragen kann ob der Server noch läuft. Wenn nicht halt die Meldung auf die ich dann reagiere.
Weiss einer eventuell welche Codeänderungen dafür nötig wären hierbei?
Danke für jede Hilfe
Gruß