2011-05-25 5 views
7

Tamam, genel olarak kulağa hoş geliyor. Ama AJAX seviyesinde demek istiyorum. NET bağlantıları ve yayınları izlemek için Firebug kullanmayı denedim ve bu bir gizem. Ağ/tarayıcıyı DESTROYING olmadan sürekli otomatik kaydetmeyi nasıl yaptığını bilen var mı?Google Dokümanlar otomatik olarak nasıl çalışır?

+1

Pencere.setInterval' AJAX ve bazı koşullar ile? – mauris

+0

Bunun doğru olup olmadığından emin değil - eğer konsola bakarsanız, o kadar çok – Shamoon

cevap

8

Benim tahminim (ve bu sadece bir tahmin olduğunu) google bir PUSH hizmetini kullanır. Bu, sohbet istemcisinin (aynı zamanda pencerenin içine de entegre edilmiş) verdiği verilere göre en uygun seçenek gibi gözüküyor, bu da bunu, minimum gecikme süresiyle "gerçek zamanlı" iletiler için kullanıyor.

Onların ilgili her şey bağlantısını yönetir ve özel unsurları tetiklemek için bayraklar göndermek bir bütün kurulum var oynuyorum. Bağlantı trigerleri görmezsiniz çünkü ilk sayfa ziyareti bağlantıyı kurar ve ardından sayfanın açık olduğu tüm süre boyunca askıda kalır. Örneğin.

  1. Tarayıcı [örneğin] api.docs.google.com [/ example] bağlantı kurdu ve istemci tarafı kodu daha sonra gönderir
  2. açık kalır
    • sayfasını ziyaret çeşitli komutlar ve çeşitli cevaplar alır.
    • Bu komutlar size kadar ileri geri gönderilir ya:
      • tarayıcı penceresi kapatıldığında
      • yeniden kurulmuş oluyor ki bu durumda bağlantı (zaman aşımı, vb) Lose

SERVER:        CLIENT: 
-------        ------- 
            DOC_FETCH mydocument.doc 
DOC_CONTENT mydocument.doc 15616 ...  
            DOC_AUTOSAVE mydocument.doc 24335 ... 
            IM collaboratorName Hi Joe! 
IM_OK collaboratorName OK 
AUTOSAVE_OK mydocument.doc OK 

:

Örnek I, tipik bir iletişim nasıl gördüğünü, birkomutu veriyi istediğimi söylüyor. Sunucu, karşılık gelen DOC_CONTENT <docname> <length> <contents> ile yanıt verir. Ardından istemci DOC_AUTOSAVE <docname> <length> <content>'u tetikler. Potansiyel eşzamanlı isteklerin sayısı göz önünde bulundurulduğunda, istekleri/yanıtları "bağlam" da tuttuklarına, böylece bir şey gönderildikten sonra eşleştirilebileceğine bahse girerim. Bu örnekte, IM_OK'un ikinci isteği (IM) ile eşleştiğini ve AUTOSAVE_OK ilk isteğin (AUTOSAVE) eşleştiğini bilir - AOL'nin IM protokolünün nasıl çalıştığı gibi bir şey.

Yine

, bu sadece bir tahmin olduğunu.

-

, bu ispat ruhani gibi bir şey kullanmak ve arka planda transfer bilgileri görebilirsiniz görmek için.

+0

yapmıyor gibi görünmektedir. Cevabı için @ Brad-Christie sayesinde, bunun nasıl yapılacağı konusunda net değil. –