J o: Javascript Date Zeitdifferenz

Beitrag lesen

Guten Abend zusammen,

Da ich das Wochenende endlich mal wieder ein wenig Zeit gefunden habe, bin ich auch prompt auf ein mir zunächst unverständliches Problem gestoßen.

Kurz grob zum Programm Aufbau/Ablauf: Ich probiere mich an einer Node.js Application mit einem Websocket über socket.io. Sprich ständig werden Daten zwischen Server und Client hin und her geschoben. Das sieht dann so aus, dass der Client irgendwas beim Server nachfragt und Daten bekommt und diese dann verarbeitet. Wenn beim Client ein Event eintritt, dies kann vom Nutzer oder auch eigenständig durch die Daten hervorgerufen werden, dann wird ein erneuter Request an den Server geschickt um die Daten in der Datenbank sowie beim Client auf den neusten Stand zu setzen.

Nun konnte ich durch stundenlanges durchforsten der Daten herausfinden, dass die Zeit von Client und Server unterschiedlich sind, meist im Bereich von 1-2 Sekunden.

Die Zeit wird sowohl auf dem Client als auch auf dem Server mit:

var now = new Date().getTime();

bestimmt.

Nun zu den eigentlichen Fragen. Erstens wie entsteht diese Differenz? Und Zweitens wie kann man alle Clients mit dem Server synchronisieren.

(Eine Idee die ich gerade habe ist, dass der Client seinen Timestamp mit zum Server schickt und dieser dann mit einem Timeout wartet.)

Gruß
Jo