# Zeitverzögerung



## docfu (29. Jan 2006)

hallo,

ich wollte wissen wie ich ohne Thread zeitverzögert etwas schicken kann... also ich habe eine schleife, in dieser sende ich etwas an einen server, wenn eine bedingung eintrifft verlasse ich die schleife, tritt die bedingung innerhlab 10 sekunden nicht ein(also kommt keine antwort vom server), so wird die schleife nicht verlassen und es wird nochmal gesendet.

also wie kann ich das am eifachsten realisieren? geht es auch ohne Thread.sleep ??

danke


----------



## Beni (29. Jan 2006)

Ich sehe nicht, wie man das ohne Threads lösen könnte.
Ich würde:  nachdem was gesendet wurde, einen Thread starten, der 10 Sekunden wartet, und dann auf die Bedingung prüft.


----------



## Bleiglanz (29. Jan 2006)

es geht, belastet aber sinnlos den prozessor

Systemzeitabholen in variable , in eine Endlosschleife einsteigen bis die aktuelle Systemzeit grösser als variable + 10000

aber warum nicht mit threads?


----------



## docfu (29. Jan 2006)

ja aber wie kann man das in Java realisieren, Code?
und wie ist es mit dem senden der Nachricht, soll die in einer schleife sein, dann wird ja ständig gesendet? oder soll mit dem Thread nochmal gesendet werden?


----------



## Beni (29. Jan 2006)

Bevor ich noch was sage: benutz du Sockets?

Da könnte man einen Timeout "setSoTimeout" einstellen, wenn der Server 10 Sekunden nichts macht, gibts eine Exception.


----------



## Bleiglanz (29. Jan 2006)

```
bedingung=false;
while(!bedingung){
    sendeNachrichtAnServer();
    warteZehnsekunden();
    bedingung = hatServergeantwortet();
}
```
warteZehnsekunden ist eben dann ein Thread.sleep(10000)


----------



## docfu (29. Jan 2006)

Beni:
aja ..ja klar mit Sockets..oder wie soll es denn sonst gehen, gibt es denn eine alternative? 

Bleiglanz: ja danke


----------



## Beni (29. Jan 2006)

docfu hat gesagt.:
			
		

> Beni:
> aja ..ja klar mit Sockets..oder wie soll es denn sonst gehen, gibt es denn eine alternative?


Es gibt immer Alternativen, vielleicht bist du ja ein Bastler und schreibst alles mit der JNI (ok, das ist eher unwahrscheinlich).
Oder du meintest ein Server-Client-Pattern, d.h. dein Programm arbeitet intern als Server-Client, und dann hätte das nichts mit Sockets zu tun...


----------



## docfu (29. Jan 2006)

Beni hat gesagt.:
			
		

> Es gibt immer Alternativen, vielleicht bist du ja ein Bastler und schreibst alles mit der JNI (ok, das ist eher unwahrscheinlich).
> Oder du meintest ein Server-Client-Pattern, d.h. dein Programm arbeitet intern als Server-Client, und dann hätte das nichts mit Sockets zu tun...



ne ganz normale Sockets..


----------

