Im travaillant sur une application de chat simple, probablement 10 à 20 utilisateurs par pièce.Simple script de conversation PHP longue interrogation, trop simple?
Le script qui interroge la base de données pour les nouveaux messages semble trop simple pour toutes les requêtes qu'il va recevoir.
est en dessous du bloc de code qui boucle pour les nouveaux messages, le reste du script ne fait que commencer les variables, la construction de la requête et l'objet de réponse JSON:
$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;
}
}
Le bloc ci-dessus interroger la base de données pour les nouveaux messages chaque seconde pendant 10 secondes, si après les 10 secondes, il n'y a pas de nouveaux messages, il en informera le navigateur. Le navigateur attend 5 secondes, puis envoie une autre requête pour obtenir de nouveaux messages.
Cependant, si le script trouve de nouveaux messages, le navigateur demandera plus de nouveaux messages instantanément dès qu'il reçoit la réponse avec les nouveaux messages du serveur.
Ce processus se poursuit et ...
Alors, comment puis-je optimiser ce processus plus loin? Est-ce que c'est aussi bon que ça? Fonctionne très bien sur mon serveur local, mais j'ai peur que seulement quelques utilisateurs puissent surcharger un serveur en direct (hôte partagé) avec toutes les demandes et les bouclages.
est ici en direct DEMO vous pouvez vérifier avec Firebug http://pixbush.com/chat/chat.php
La simplicité est ce que nous, en tant que programmeurs **, recherchons **. –
Le lien ne fonctionne plus. – kachar