Maison > développement back-end > tutoriel php > Comment implémenter une interrogation longue et simple à l'aide d'Apache et PHP ?

Comment implémenter une interrogation longue et simple à l'aide d'Apache et PHP ?

Patricia Arquette
Libérer: 2024-12-31 02:16:09
original
392 Les gens l'ont consulté

How to Implement Simple Long Polling Using Apache and PHP?

Mise en œuvre d'une interrogation longue simple

De nombreuses ressources décrivent le concept d'interrogation longue, mais les exemples pratiques de mise en œuvre restent insaisissables. Plongeons dans une version simplifiée sans nous appuyer sur des frameworks ou des configurations de serveur complexes.

Utiliser Apache et PHP pour la communication du serveur

Pour gérer les requêtes du serveur, Apache est adéquat. Le script PHP ci-dessous envoie une chaîne aléatoire après un intervalle aléatoire, simulant l'arrivée d'un message en temps réel. Parfois, il renvoie une erreur à des fins de démonstration.

<?php
if (rand(1, 3) == 1) {
    header("HTTP/1.0 404 Not Found");
    die();
}
sleep(rand(2, 10));
echo("Hi! Have a random number: " . rand(1, 10));
?>
Copier après la connexion

Client JavaScript pour une interrogation longue

En JavaScript, l'observateur long demande continuellement le script ci-dessus et attend une réponse :

<script type="text/javascript">
function waitForMsg() {
    $.ajax({
        type: "GET",
        url: "msgsrv.php",

        success: function(data) {
            // Display the message
            $("#messages").append("<div class='msg new'>" + data + "</div>");

            // Recursively invoke waitForMsg
            setTimeout(waitForMsg, 1000);
        },
        error: function() {
            // Display the error message and restart the process after 15 seconds
            $("#messages").append("<div class='msg error'>Error encountered</div>");
            setTimeout(waitForMsg, 15000);
        }
    });
}

$(document).ready(function() {
    waitForMsg();
});
</script>
Copier après la connexion

Ce script vérifie en permanence les mises à jour du serveur et affiche les messages entrants. La gestion des erreurs est intégrée et l'interrogation longue tente de se reconnecter après un délai d'attente spécifié.

Atouts de l'interrogation longue

L'interrogation longue offre plusieurs avantages :

  • Résilience :En cas de perte de connexion internet, le client peut récupérer et se reconnecter automatiquement.
  • Évolutivité : Un serveur autonome peut gérer plusieurs requêtes d'interrogation longues simultanées sans affecter les performances du site Web.
  • Simplicité : Le code, les deux serveurs -côté et côté client, est simple et facile à mettre en œuvre.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal