# Client/Server - Timer auf Serverseite



## Erhardt (21. Okt 2008)

Hey zusammen,

ich hab eine einfache Client/Server Anwendung am Start und würde jetzt gerne, wenn ich vom Client etwas einlese, ihm nur 1 Minute Zeit geben, das einzutippen. Am besten wäre es, einen Timer laufen zu lassen, der eben von 1 Minute runterzählt. Falls der Client jedoch z.B. nach 10 sec. etwas eingibt, soll der Timer vorzeitig abgebrochen werden.
Mein Timer sieht folgendermaßen aus:


```
int i = 0;
		int seconds = 60;
		int minutes = 1;

BufferedReader liesein = new BufferedReader(new InputStreamReader(System.in));

		while (i < 60) {
			i++;
			seconds = seconds - 1;
			
			if (seconds == 0) {
				seconds = 60;
				minutes = minutes - 1;
			} 
			if (seconds < 10) 
				System.out.print("Remaining time: 0" + minutes + ":0" + seconds);
			else System.out.print("Remaining time: 0" + minutes + ":" + seconds);
			
			System.out.print('\r');
			
			try
            {
               Thread.sleep(1000);
            }
            catch (InterruptedException e)
            {
                e.printStackTrace();
            }	
		}
```


Wie kann ich diesen Timer denn in eine Client/Server Kommunikation auf der Serverseite integrieren?
Greets


----------



## tuxedo (21. Okt 2008)

Einfach am Server den Inputstream vom Socket der Clientverbindung nehmen statt "System.in" ...?!

- Alex


----------



## Erhardt (21. Okt 2008)

Nein um den Strom geht es gar nicht, es geht wie gesagt um den Timer und wie ich diesen in den Einlesevorgang integrieren kann!?


----------



## tuxedo (22. Okt 2008)

Mach nen Thread oder sowas, der HeartBeat mäßig getriggert wird. Dazu musst du dich halt vor jedes read() auf  dem Inputstrom hängen.

Mehr kann ich zu so einer trivialen Aufgabenstellung nicht sagen.

Ach ja, doch noch eins: 

Kannst auch sowas wie MINA benutzen. Da bekommst du die "idle-Zeit" gleich mitgeliefert und kannst entsprechend drauf reagieren.

- Alex


----------

