Nicole [ Es geht doch ...]: flush()+sleep() heben Timeout auf ?

Beitrag lesen

Hallo Henryk,
ich hab noch mal experimentiert ;-)

Es liegt nicht an sleep()
sondern an flush und daran, dass weiterhin Daten zum Browser geschaufelt werden.
(KOMISCH DASS DESHALB TIMOUT NICHT AKTIV WIRD...)

Mal ein Script:
Beide Varianten fast identisch mit einer Ausnahme:
Beim (mit Timeout) macht der Server winzig kleine Pausen
beim senden an den Browser, fast nicht sichbar, aber dennoch
Grund genug nach 30 Sek. den Tiomout zu realisieren.

<?PHP
$s=time();
if($tout){
echo"<h5>COUNTDOWN Timeout nach 30 sek. </h5>";
for($x=1;$s >(time()-120);$x++){if(($x%10000)==0)
{echo "$x\r\n";flush();}}
}elseif($notout){
echo"<h5>COUNTDOWN Timeout nicht vorhanden </h5>";
for($x=1;$s >(time()-120);$x++){echo".";if(($x%100000)==0){echo "<br>$x<br>\r\n";}flush();}
}
echo"<h5>LAUFZEIT DIESER SEITE: ".(time()-$s)." Sekunden</h5>";
?>
<a href="sleeptest.php?tout=1">sleep mit timeout</a>
<a href="sleeptest.php?notout=1">sleep ohne timeout</a>
EOF
?>

WIE KOMMT DAS BLOSS ?

Gruss Nikki