Ich bin gerade auf etwas cooles gestossen und wollte es euch nicht vorenthalten.
Und zwar geht es um eine Technik, die sich reverse Ajax, Comet, ForeverFrame etc. nennt.
Es ist eine Lösung des Polling Problems auf das ich gestossen bin.
Da man normalerweise nur Anfragen an den Server vom Client/Browser machen kann, aber nicht umgekehrt, wird einfach die Server-Antwort solange zurückgehalten bis am Server ein Ereignis eintritt.
Darauf wird ein Event ohne verzögerung direkt an den Client geschickt.
Hier ein kleiner beispiel-Source:
index.php
PHP-Code:
<html>
<head>
<title>ForeverFrame</title>
<script type="text/javascript">
function push_event(key, value) {
if (key = "key" ){
document.getElementById('test').innerHTML = value;
}
}
</script>
</head>
<body>
<h3>ForeverFrame Test</h3>
<hr/>
<p id="test">---</p>
<iframe src="test.php" width="0" height="0" frameborder="0"></iframe>
</body>
</html>
test.php
PHP-Code:
<?php
Header("Content-type: text/html");
Header("Cache-Control: max-age=0");
echo '
<html>
<head>
<script type="text/javascript">
function push() {
parent.push_event("key", "'.rand(1,100).'");
document.location = "test.php";
}
</script>
</head>
<body onLoad="javascript:push();">
</body>
</html>';
Sleep(5);
?>
Wollte es mal posten, da ich es ziemlich genial finde
mfg