Ich kam vor ein paar Monaten mal mit Long Polling/ Comet in Kontakt, habe es allerdings nicht verstanden, obwohl ich mir wirklich sehr viele Tutorials durchgelesen habe und Videos geschaut habe. Dann habe ich es aufgegeben und jetzt bin ich wieder darauf angewiesen. Wieder will ich es einfach nicht verstehen!
Am Beispiel eines Codes, welchen ich von einem Tutorial habe, habe ich mir mal einen kleinen Chat bauen versucht.
chat.php
chat2.php
Das Ergebnis wenn ich chat.php aufrufe ist, dass gar nichts passiert. Um das zu testen, hatte ich die alerts eingefügt, welche so wie ich das Script verstehe auf jeden Fall aufpoppen sollten - einer davon. Ein Alert direkt zu Beginn der Funktion, vor dem AJAX Teil, funktioniert.
Am Beispiel eines Codes, welchen ich von einem Tutorial habe, habe ich mir mal einen kleinen Chat bauen versucht.
chat.php
Code:
<script type="text/javascript"> function checkForNewMessages() { $.ajax({ type: "GET", url: "chat2.php", async: true, cache: false, timeout: 300000 }).done(function(result) { if(result.messageReceived) { alert("Message received!"); } else { alert("Message NOT received."); } checkForNewMessages(); }); }; checkForNewMessages(); </script>
PHP-Code:
<?php
$db = mysqli_connect("localhost", "root", "123", "chat");
function datenbankAuslesen() {
$getMessages = mysqli_query($db, "SELECT * FROM messages");
$message = mysqli_fetch_assoc($getMessages);
return $message["message"];
}
$message = datenbankAuslesen();
while(!$message)
{
sleep(5);
$message = datenbankAuslesen();
echo $message;
}
Kommentar