Heim > Backend-Entwicklung > PHP-Tutorial > Wie implementiert man einfache lange Abfragen mit Apache und PHP?

Wie implementiert man einfache lange Abfragen mit Apache und PHP?

Patricia Arquette
Freigeben: 2024-12-31 02:16:09
Original
391 Leute haben es durchsucht

How to Implement Simple Long Polling Using Apache and PHP?

Implementierung von Simple Long Polling

Viele Ressourcen beschreiben das Konzept von Long Polling, aber praktische Implementierungsbeispiele bleiben schwer zu finden. Lassen Sie uns in eine vereinfachte Version eintauchen, ohne auf komplexe Frameworks oder Serverkonfigurationen angewiesen zu sein.

Verwendung von Apache und PHP für die Serverkommunikation

Um Serveranfragen zu verarbeiten, ist Apache ausreichend. Das folgende PHP-Skript sendet nach einem zufälligen Intervall eine zufällige Zeichenfolge und simuliert so den Nachrichteneingang in Echtzeit. Gelegentlich wird zu Demonstrationszwecken ein Fehler zurückgegeben.

<?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));
?>
Nach dem Login kopieren

JavaScript-Client für Long Polling

In JavaScript fordert der Long Poller kontinuierlich das obige Skript an und wartet darauf eine Antwort:

<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>
Nach dem Login kopieren

Dieses Skript sucht kontinuierlich nach Server-Updates und zeigt eingehende Nachrichten an. Die Fehlerbehandlung ist integriert und der Long Poller versucht, nach einer bestimmten Zeitüberschreitung die Verbindung wiederherzustellen.

Stärken von Long Polling

Long Polling bietet mehrere Vorteile:

  • Belastbarkeit: Im Falle eines Verlusts der Internetverbindung kann sich der Client erholen und die Verbindung wiederherstellen automatisch.
  • Skalierbarkeit: Ein eigenständiger Server kann mehrere gleichzeitige lange Abfrageanfragen verarbeiten, ohne die Leistung der Website zu beeinträchtigen.
  • Einfachheit: Der Code, beide Server -seitig und clientseitig, ist unkompliziert und einfach zu implementieren.

Das obige ist der detaillierte Inhalt vonWie implementiert man einfache lange Abfragen mit Apache und PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage