My Flash tabanlı sohbet istemcisi yeterince güçlü değil mi?

2 Cevap php

Ben yazma kendi kullanıcı adı ve saati ile birlikte bir gruba ait kullanıcılar tarafından gönderilen mesajlar görüntüler bir Flash tabanlı sohbet istemcisi geliştirdik. Veriler grup kimliği, kullanıcı kimliği ve mesaj ile bir mysql veritabanında saklanır böylece sohbet oturumları ötesine devam ve kullanıcıların bir duyuru panosu daha bir sohbet daha az tartışmaları, görmek için bir sonraki seferde giriş sağlar. Bir kullanıcı ben sohbet istemcileri güncellemek istediğiniz bir mesaj yazarken anında bir gerçek zamanlı sohbet gibi görünür. Benim çözüm bugüne kadar yeni yorumlar hakkında veritabanını sorgular ve Flash bu dönüş bir PHP sayfası çağıran benim flaş kodu bir aralık dahil olmuştur.

Ive bu yaklaşım uzun yoklama denir okumak ne düşünüyorsun? bu doğru mu? Bu hacim için yeterli sağlam mı? Ben daha iyi değişiklikler vardır istemciye veri bastırıyor bakıyor olurdu? Nasıl bu değişiklikleri algılar mı? Ben örneğin APE baktım ama bu bir veritabanında mesajları saklar olduğunu sanmıyorum.

Herhangi bir öneriniz?

2 Cevap

Yoklama hakkında kötü bir şey oldukça hızlı pahalı olabilir, olduğunu.

Sohbet 1 saniyeden daha büyük bir gecikme var isteyenler, online 10000 kullanıcıya sahip, en varsayalım. Sonra youn saniyede 10000 istekleri ile sunucu bombardıman olacaktır.

küçük şeyler ya da güncel olmayabilir gereken şeyler için, yoklama basit yana, iyi bir yaklaşım ve gerçekten yanlış gidemez.

Bu sadece sohbet kullanarak kadar 100 kişi ile küçük bir topluluk için ise, o zaman bu sorun olmamalı.

bunun dışında, tüm müşterilerine kalıcı bağlantıları vardır ve herhangi bir değişiklik (örn. yeni mesajlar) onları bildirir bir sunucu, yani kalıcı bir röle sunucusu oluşturmak için APE veya SmartFox, ya red5 veya farklı bir çok şey kullanabilirsiniz.

her zaman olduğu gibi, benim kişisel tavsiyem kullanmak için haXe. Başlamak için chat tutorial kullanabilirsiniz. haXe oldukça dik bir öğrenme eğrisi vardır, ama tamamen buna değer olduğunu düşünüyorum. Ben arkasında ActionScript ve PHP hem de sol için mutluyum.

edit: ne tarif değil long polling. Ayrıca, pek classicaly Apache ile kullanıldığında en azından eğer, PHP ile uzun yoklama yapabilirsiniz. Apache PHP süreçlerin belirli sayıda yaratacaktır. Bir istek geldiğinde her zaman, bu ücretsiz bir PHP sürecine bakmak ve bu isteği işleme izin vereceğim. PHP işlemi tamamlandığında, geri istemciye yanıt gönderir. Yok yok ücretsiz işlemler varsa bir süreç kullanılabilir hale gelinceye kadar, bu isteği tampon olacaktır. PHP ile klasik şekilde uzun yoklama yaparak çalıştı böylece eğer tamamen sizin tüm sunucuyu bloke olabilir.

Eğer yeni bir mesaj alındı ​​zaman uygulamayı bildirmek istedim, o zaman veritabanı / o değişim uyarılmak izlemek için sunucu üzerinde uygulama çeşit uygulamak ve daha sonra müşterilere güncelleştirmeleri geçmek zorunda olacaktır.

Bu, sadece yoklama daha verimli olmalı çünkü siz yoklama ne olursa olsun sunucu defol nakavt olacak bir düşük trafik senaryonun düşünüyorsanız - için bir neden olduğunda bu şekilde sadece trafik üreten ediyoruz. ..

Eğer bir yorum yazdığınızda, müşteri değişim (bir web servisi aracılığıyla) direkt olarak bu uygulamayı uyarabilir, ve bu yardımcı uygulama daha sonra veritabanını güncellemek olabilir ...

Ben sohbet programlarında hiçbir uzman değilim ama bu olması gerektiğini söyledi - şahsen birine dahil olmamıştı ...