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)); ?>
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>
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:
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!