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

Comment implémenter une interrogation longue de base à l'aide d'Apache et de JavaScript ?

Linda Hamilton
Libérer: 2024-12-30 12:16:13
original
900 Les gens l'ont consulté

How to Implement Basic Long Polling Using Apache and JavaScript?

Réalisation d'une implémentation de base de l'interrogation longue

L'interrogation longue est une technique d'interrogation qui maintient les connexions ouvertes pendant une période prolongée, facilitant une réponse instantanée lorsque des mises à jour du serveur sont disponibles. Sa mise en œuvre peut être assez simple.

Apache en tant que gestionnaire de requêtes

Pour répondre aux requêtes à l'aide d'Apache, créez un script PHP tel que msgsrv.php. Voici un exemple simple :

// Simulate data availability after a random delay
sleep(rand(2, 10));
echo("Hi! Here's a random number: " . rand(1, 10));
Copier après la connexion

Exécutez ce script sur Apache. Notez que l'utilisation d'un serveur Web à volume élevé comme Apache peut entraîner l'épuisement des threads de travail.

Utilisation d'un script JavaScript

En JavaScript, vous pouvez utiliser un script tel que long_poller.htm pour lancer des requêtes d'interrogation :

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

      async: true,
      cache: false,
      timeout: 50000,

      success: function(data) {
        // Append the response to a div
        addmsg("new", data);
        // Continue polling after 1 second
        setTimeout(waitForMsg, 1000);
      },
      error: function(..., errorThrown) {
        // Append error to div
        addmsg("error", textStatus + " (" + errorThrown + ")");
        // Retry after 15 seconds
        setTimeout(waitForMsg, 15000);
      }
    });
  }

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

Ce script envoie continuellement des requêtes à msgsrv.php, affichant les réponses dans un div. Il utilise un simple limiteur de débit pour éviter les demandes excessives.

Avantages du Long Polling

Le Long Polling offre résilience et simplicité. En cas d'interruption du réseau, le client réessaye automatiquement. C'est un choix approprié pour les applications nécessitant des mises à jour immédiates de la part du serveur, telles que les applications de messagerie instantanée ou de chat.

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