BACKGROUND
Ben bir AJAX sohbet sistemi oluşturma. Bunun gibi bir şey görünüyor:
Mike - hi Jane - 5 minutes ago
Jane - hi Mike - 4 minutes ago
Mike - nasıl gidiyor - 3 seconds ago
Jane - Ben iyiyim - 1 second ago
Javascript anketler sunucu her dakika ve sunucu yeni mesajlar 10 ile yanıt verir. Unix zaman damgası (PHP time ()) her bir mesajın takılmıştır. Javascript kullanıcı şu anda bu yeni sunucu yanıtı ile olan tamponlu mesajları birleştirme sorumludur. Mesajları ve "X süre önce" mesajın doğruluk aralıkh Javascript saat sunucu saati ile senkronize ne kadar iyi bağlıdır.
QUESTION
Nasıl doğru sunucu saati ile Javascript saati senkronize mi? Aşağıda ben bugüne kadar ne var. Ben bunu daha doğru yapmak istiyorum. Şu anda senkronizasyonuna yapar Ajax gidiş dönüş süresini dikkate almaz. Nasıl, işleme gönderme ve alırken gidiş dönüş oranı biliyor musunuz? Ayrıca, nasıl saat kristaller Sadece düz baskın kullanıcılar ile anlaşma yapmak - örneğin: o 19:20 GMT ama onların aslında saat 07:15 GMT diyor?
Clock = {
serverOffset = 0;
synch: function() {
new Ajax.Request(
'/getServerTime.php', {
onSuccess: function(transport) {
this.serverOffset = parseInt(transport.responseText) -
new Date().getTime() / 1000;
}
}
);
},
getServerTime: function(myTime) {
if (typeof(myTime) === 'undefined') {
myTime = new Date().getTime() / 1000;
}
return myTime + this.serverOffset;
},
serverToMyTime: function(serverTime) {
return serverTime - this.serverOffset;
}
}