Bir seferde birden fazla değer için sunucu itme uygulamak nasıl?

2 Cevap php

Ne fazla bir şey için sunucu itme uygulamak için en iyi yoldur.

Ben sadece kullanıcı durumunu güncellemek istiyorsunuz diyelim, bu yüzden periodicaly gibi 1000ms statü için sunucu yoklamak ve güncelleyebilirsiniz.

Herhangi bir değişiklik olsaydı denetler ve bir bulunursa, sunucu itme yanıtı sonra tekrar müşteri, güncelleme sayfası ve başka bir anket yaparken buldum diğer yolu, gibi 30 saniye boyunca bu sunucu bekler olduğunu.

Ama nasıl web sitesinde gibi 10 şeyleri kontrol etmek için bu uygulamak istiyorsunuz? Örneğin ben birisi oy, ama aklıma bu nasıl tek yol olduğunda soru oy yenilemek StackOverflow istiyorsanız

Her soru için oy için sunucu sormak -> sunucu sayfadaki her soru oylarıyla cevap

ama ben nasıl öğrenebilirim hangi soru oy değişti? Ben tüm güncel oy gönderebilir ve sonra sunucu değerleri karşılaştırın bakalım ve tek değişiklik yaptığını olanlar ile cevap, ama bu süre 30 gibi değerlerle kontrol yapmak çok uneffective olacağını düşünüyorum.

Hemen her şeyi sunucu itme tarafından yenilenir burada tüm için bir örnek, Facebook olurdu, ama nasıl sunucu değişikliği ne yaptığını öğrenmek ve ne değil mi?

(Benim kitapta "Ajax Desenler" de dahil olmak üzere) her şeyi buldum bir değer için yoklamak için sadece nasıl açıklar, ama (daha 10 gibi) bir anda birçok değerler için yoklamak için nasıl bir şey bulamadık.

2 Cevap

Eğer oturumları kullanmak için hazırsanız, kolay yolu bir seri istek kimliği sahip olması ve sunucu oturum müşteriye gönderilen son bilgileri izlemenize izin istiyorum. Onu yenilenir son kez daha yeni veri varsa o müşteri sorar.

örneğin: hiçbir şey değişti sonra istemci sunucu 'yanlış' cevap olabilir, ajax isteği # 5001 gönderir söylüyorlar. Sonra birisi bir mesaj gönderdiğinde, ya da orada bir tür değişim, ve bu yüzden istek # 5002 sunucu (bunlar her neyse) değişti elemanlarının bir listesini gönderir. Hiçbir isteği # 5002 yılından bu yana değişti, çünkü o istek # 5003 yılında, yine yanlış cevap olacaktır.

A JSON istemci / sunucu mimarisi bunun için mükemmel olurdu. Bu nesne hiyerarşileri / maps kolay serileştirme sağlar. Javascript müşteri için jQuery tercih ve sunucu tarafı tükürmek saçmadır.

Ben sunucu tarafında revizyon numaraları ile veri etiketlemek için öneririm, böylece istemci sahip verilerin ne revizyonunu bilir; müşteri revizyonları bir dizi gönderebilirsiniz sayede kompozit sorgu oluşturun ve sunucu onlar için olabilecek herhangi bir güncellenen revizyonları ile revizyonlar bu listede yanıt verebilir. Bu şekilde, müşteri sadece herhangi bir güncelleme olup olmadığını görmek için bir sunucu sorgusu yapıyor; Sadece arada bir istemci, bir sorgu içine ilgilenen tüm verileri harmanlanmasından ediyoruz. Bu yöntem aynı zamanda istemci ilgilenen olduğunu veri kümesini değiştirmek için izin gücü vardır; Lütfen uygulama sunucu tarafı yeterince esnek ise, tüm dinamik veri ihtiyaçları için aynı uygulamasını kullanabilirsiniz.