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?
cevap
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.
- Tarayıcı [örneğin] api.docs.google.com [/ example] bağlantı kurdu ve istemci tarafı kodu daha sonra gönderir
- 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.
, bu sadece bir tahmin olduğunu.
-
, bu ispat ruhani gibi bir şey kullanmak ve arka planda transfer bilgileri görebilirsiniz görmek için.
yapmıyor gibi görünmektedir. Cevabı için @ Brad-Christie sayesinde, bunun nasıl yapılacağı konusunda net değil. –
Pencere.setInterval' AJAX ve bazı koşullar ile? – mauris
Bunun doğru olup olmadığından emin değil - eğer konsola bakarsanız, o kadar çok – Shamoon