Tach!
Schickst du dann den Endzeitpunkt als Timestamp statt die Laufzeit als Timespan oder Anzahl der Sekunden?
Nein den Endzeitpunkt. Wie sollte ich die laufzeit als Zeitspanne schicken?
Timespan = Endzeit - Startzeit; // Zeiten bezogen auf den Server
Ist dann kein DateTime mehr sondern eine Number, repräsentierend eine Anzahl von Sekunden (oder Millisekunden).
Wenn die Laufzeit so exakt feststeht, dass man den Endzeitpunkt angeben kann, kann ich mir laienhaft vorstellen, dass nach Ablauf des Timers auf dem Client er einfach auf 0 stehenbleibt für den Rest der Zeit.
Ich habe ihn so gebaut das er sich selbst entfernt wenn er null erreicht und dann einen Request zum Server schickt. Wenn die Antwort vom Server zurückkommt und die Endzeit für den Server noch in der Zukunft liegt, dann wird ein neuer Timer erstellt der dann für kurze Zeit wieder sichtbar ist und bei Null, einen weiteren Request zum Server schickt
Wenn der Client sehr in der Zukunft hängt, dann ist jede Zeit bereits beendet. Ein Timespan hingegen ist relativ und bezieht sich auf die Entfernung zur aktuellen Uhrzeit. Egal welche lokale Zeit ein Client hat, 5 Sekunden sind immer gleich lang (davon ausgehend, dass die Uhren nicht zu unterschiedlich ticken).
dedlfix.