beatovich: Nachtrag: Zeitdifferenz

Beitrag lesen

hallo

Moin,

Müssen denn die Clients Quellen der Uhrzeit sein? Ginge es auch, dass clientseitige Ereignisse erst dann einen Timestamp bekommen, wenn die Nachrichten dazu auf dem Server eintreffen?

Das eigentliche Problem kurz umrissen: ein Benutzer startet irgendeinen Prozess und schickt einen dementsprechenden Request zum Server. Dieser verarbeitet dies und schreibt Start (Serverzeit) und Endzeitpunkt (Serverzeit + Prozesszeit) in eine Datenbank.

Dein Server verarbeitet also Daten ohne zuvor ein Minimum an Initialisierungen an den Client geliefert zu haben?

Danach schickt der Server die neuen Daten wieder zum Client, ob der Prozess gestartet wurde oder ob dies nicht geklappt hat etc. Der Client schaut nun ob es geklappt hat und setzt einen Timer der Runterzählt bis der Endzeitpunkt erreicht ist. Wenn diese Zeit erreicht ist, dann schickt der Client wieder einen Request zum Server um die neusten Daten zu erhalten.

Wenn nun der Client um 1 Sekunde dem Server nachläuft, dann ist der Prozess zwar für den Client beendet aber nicht für den Server. Was dann zu Problemen führt wie zum Beispiel das der Timer nach dem Response wieder für eine Sekunde aufblitzen oder ähnliches.

Also Nein, das Event wird Clientseitig durch den Client Timestamp ausgelöst.

Und hier liegt dein Irrtum: Ein Client kann als Referenz immer den Server Timestamp verwenden. (Vorausgesetzt man Initialisiert die Verkehregeln entsprechend). Lediglich für Stoppuhren wird der Client seine eigene Uhr verwenden. Alle Zeitkommunkation aber bezieht sich auf den Server Timestamp.

Somit dürfte es nicht mal eine Rolle spielen, ob ein Client die Uhrzeit 1970 anzeigt.