Mailinglisten-Archive |
Andre Lohan wrote:
> wenn ich mittels fgets Daten aus einer Internet Verbindung hole und es
> sich dabei um einen endlosen Stream handelt (z. B. Chat), bleibt der
> Script bei fgets stehen, sobald keine Daten zum Abholen anstehen. Kann
> ich das vorher ermitteln, ob Daten zum Abholen bereitstehen ? Ich lese
Hast Du die Anmerkungen zu
http://www.php.net/manual/function.filesize.php3 gesehen? Hier findet
sich ein Beispiel zur Ermittlung der Größe einer Datei auf einem
Remote-Server basierend auf einem HTTP-Request:
> telnet localhost:80
HEAD /chat.html HTTP 1.1
[...]
Content-Length: 121 Bytes
(Den HTTP-Request kannst Du mit
http://www.php.net/manual/function.fsockopen.php3 absetzen.)
Solltest Du keinen Request senden wollen, könnte ein Workaround in einer
Endlosschleife bestehen:
$stop = false;
while (!$stop) {
if (!$daten = _(at)_fgets($fh, 4096)) {
// Es gibt keine neuen Daten, schlafen und erneut versuchen...
sleep(10);
continue;
}
// Neue Daten verarbeiten...
}
Ulf
php::bar PHP Wiki - Listenarchive