Sunucu saati ile Javascript saatini senkronize

0 Cevap php

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;
   }
}

0 Cevap