Ik heb een raar probleem:
Ik heb een AJAX-app die de tijd van de client bij benadering moet synchroniseren met de server. Ik ben er echter achtergekomen dat dit tijdverschil niet gelijk blijft tussen de computers, wat in theorie inhoud dat of de server's klok, of mijn computer's klok een paar milliseconden per seconde te snel/te langzaam gaat.
Wat ik op alle computers terugzie is dat de servertijd net iets sneller omhoog gaat dan de clienttijd. Consequent, over alle computers die ik probeer, lijkt de servertijd 1 milliseconde per ongeveer 4 seconden sneller toe te nemen dan die van de clients.
Hier is een live voorbeeld te zien, waarbij de servertijd en clienttijd iedere seconde vergeleken worden:
http://kutcomputers.nl/
Clientside wordt de check uitgevoerd in Javascript:
Serverside wordt een timestamp gestuurd in JSON met de volgende 2 fragmenten aan code:
De code is verder niet heel relevant: er is -zover ik weet- weinig vreemds aan mijn code.
Tijdens het typen van dit bericht heb ik mijn site even open gelaten, en kwam op de volgende log:
http://pastebin.com/6VxVbDph
Hierop is duidelijk te zien dat de tijd tussen mijn server en de client consequent niet gelijk blijft.
Wat ik me nou afvraag:
Is het normaal dat de tijd sneller lijkt te lopen op mijn server dan op overige computers?
Hardware specs server:
Intel i7 Xeon x3440 2.53GHz quad core
500GB samsung HDD
2GB 1333MHz ECC RAM (ga ik nog upgraden)
Intel server moederbord in 1U barebone kast
Ubuntu Server 10.04 LTS 64bit
Hardware specs testsysteem:
late 2009 15" macbook pro 2.8GHz dual core met Mac OS X 10.6
Ook getest met:
andere macbook
iPad
Ik heb een AJAX-app die de tijd van de client bij benadering moet synchroniseren met de server. Ik ben er echter achtergekomen dat dit tijdverschil niet gelijk blijft tussen de computers, wat in theorie inhoud dat of de server's klok, of mijn computer's klok een paar milliseconden per seconde te snel/te langzaam gaat.
Wat ik op alle computers terugzie is dat de servertijd net iets sneller omhoog gaat dan de clienttijd. Consequent, over alle computers die ik probeer, lijkt de servertijd 1 milliseconde per ongeveer 4 seconden sneller toe te nemen dan die van de clients.
Hier is een live voorbeeld te zien, waarbij de servertijd en clienttijd iedere seconde vergeleken worden:
http://kutcomputers.nl/
Clientside wordt de check uitgevoerd in Javascript:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
| var localTime = new Date().getTime(); self.query(["time"], function(data) { var queryTime = new Date().getTime()-localTime; var currentTime = localTime+Math.round(queryTime/2); self._timeOffset = currentTime-data.time; log("TimeOffset: "+(self._timeOffset/1000) +" ClientTime: "+(currentTime/1000) +" ServerTime: "+(data.time/1000) +" QueryTime: "+(queryTime/1000)); if(cb)cb(self); }); |
Serverside wordt een timestamp gestuurd in JSON met de volgende 2 fragmenten aan code:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
| //in Response-object's constructor, welke direct wordt aangemaakt bij iedere HTTP request: this._time = new Date(); //Response.getTime(): this.getTime = function() { return self._time; } //De code die de tijd ophaalt en toewijst aan een property in het JSON object: response.set("time", response.getTime().getTime()); response.end(); |
De code is verder niet heel relevant: er is -zover ik weet- weinig vreemds aan mijn code.
Tijdens het typen van dit bericht heb ik mijn site even open gelaten, en kwam op de volgende log:
http://pastebin.com/6VxVbDph
Hierop is duidelijk te zien dat de tijd tussen mijn server en de client consequent niet gelijk blijft.
Wat ik me nou afvraag:
Is het normaal dat de tijd sneller lijkt te lopen op mijn server dan op overige computers?
Hardware specs server:
Intel i7 Xeon x3440 2.53GHz quad core
500GB samsung HDD
2GB 1333MHz ECC RAM (ga ik nog upgraden)
Intel server moederbord in 1U barebone kast
Ubuntu Server 10.04 LTS 64bit
Hardware specs testsysteem:
late 2009 15" macbook pro 2.8GHz dual core met Mac OS X 10.6
Ook getest met:
andere macbook
iPad
[ Voor 6% gewijzigd door Gamebuster op 02-01-2011 21:13 ]
Let op: Mijn post bevat meningen, aannames of onwaarheden