Php ile canlı bağlantı tutulması?

5 Cevap php

Bana sürekli yeni veri için bir php script ping bir proje üzerinde çalışıyorum, bu yüzden doğru anlamak eğer Ping işlemi php script üzerinde süresiz üzerinde çalıştırmak ve alır demektir. Bu çalışıyor ama sunucuda onun büyük bir yük tahmin ediyorum, ve muhtemelen çirkin ve kötü bir uygulama olarak kabul edilir. Birazdan bu konuda mıyım?

Ben yeni veri mevcut olduğunda bu yüzden olabilir canlı komut dosyasına bağlantı tutmak ve gereken içeriğini temizlemek için php çıktı tamponlama inşa yararlanabilirler, ancak döngü çeşit kullanarak sonsuzluk çalışan komut dosyası tutmak olabilir herhangi bir yolu var mı çıktı. Bu da kötü bir fikir mi?

Ben sadece daha fazla deneyim ile orada giriş formu geliştiriciler için arıyorum.

Son bir şey ...

(Örneğin Flash veya Silverlight gibi teknolojiler hariç) gidiş verilerin sabit akış tutmak için başka yolları var mı?

5 Cevap

Ne var şu anda çalışıyor ve bu uygulama beklediğiniz yük tür karşı test edildiğinde çalışmaya devam ederse, o gerçekten kötü bir uygulama olarak kabul edilmez. Eğer o inşaat basit tutmak için bir suç değildir. Sizin tarif ettiğiniz şeyi yapar şey web orijinal modelin tahıl karşı gidecek, böylece titrek topraklarına cesaretini ediyoruz.

Sana Comet tekniği kontrol öneririz. Sürekli bir sayfaya bilgi bastırıyor sunucu - - Bu ne istediğinizi ters çoğunlukla popüler ama tabii ki her iki şekilde çalışabilirsiniz. Sizin kilometre değişebilir rağmen, ben iyi şeyler duydum. Wikipedia tanımlıyor gibi:

Web geliştirme, Comet uzun tutulan HTTP isteği bir web sunucusu açıkça bunu isteyen tarayıcı olmadan, bir tarayıcı veri itmek için izin veren bir web uygulama modelini tanımlamak için kullanılan bir terimdir. Comet bu etkileşimi gerçekleştirmek için birden teknikleri için bir terimdir. Tüm bu yöntemler oldukça varsayılan olmayan eklentileri ziyade Javascript gibi tarayıcılarda, varsayılan olarak dahil özelliklerinden yararlanır.

Php Bunun için dilin en iyi seçim olmaz gibi neredeyse görünüyor. Muhtemelen daha uzun ömürlü mesajlaşma bu tür işlemek için kurulum vardır scala veya Erlang gibi bir şey düşünün.

Siz php yuva kullanmayı öğrenmek zorunda.

Başlangıç ​​buradan: http://php.net/manual/en/book.sockets.php

Ve burada bir adil bağımsız php uygulamalar yazma konusunda yararlı bir el kitabıdır: Advanced PHP Programming

Bunu bağlıdır söyleyebilirim. Eğer veri transferi istemci tarafından başlatılan olmak istiyorsanız, burada en iyi seçim bazı ajax olacaktır (: P GetXmlHttpObject gibi ya da hile gibi hissediyorum eğer sadece IFrame). Eğer transfer sunucu tarafından başlatılır olmak istiyorsanız, o zaman, belki de php kullanmak istediğiniz dil değildir.

Sen http streaming için ajax kullanabilirsiniz. ajaxpatterns bir göz atın.