Im basit bir sohbet uygulaması, oda başına muhtemelen 10 ila 20 kullanıcılar üzerinde çalışıyor.
Yeni iletiler için veritabanını sorgular Senaryo bu almak olacak tüm istek için çok basit görünüyor.
Aşağıda yeni mesajlar için, script Gerisi, sorgu ve json yanıt nesnesinin inşaatı değişkenleri oluyor döngüler kod bloğu:
$sleepTime = 1; //Seconds
$data = "";
$timeout = 0;
//Query database for data
while(!$data and $timeout < 10){
$data = getQuery($sql);
if(!$data){
//No new messages on the chat
flush();
//Wait for new Messages
sleep($sleepTime);
$timeout += 1;
}else{
break;
}
}
The block above will query the database for new messages every second for 10 seconds, if after the 10 seconds there are no new messages it will notify the browser. The browser waits 5 seconds and then sends another request to get new messages.
Script yeni mesajlar bulursa Ancak, tarayıcı anında kısa sürede sunucudan yeni mesajlar ile yanıt alır gibi daha yeni mesajları talep edecektir.
Bu süreç uzayıp gidiyor ...
So how can i optimize this process any further? Is this as good as it gets? Is working fine on my local server, but im afraid that just a few users could overload a live server(shared host) with all the requests and the loopings.
Burada kundakçı ile kontrol edebilirsiniz canlı DEMO http://pixbush.com/chat/chat.php