Hallihallo
Oder was möchtest du denn genau machen?
- eben den Serverpush, der die Seite immer replaced
- ein Script, dass die Daten immer _sofort_ ausliefert und so der Benutzer "realtime" sehen kann, was der Server-prozess macht?
die seite sollte jedoch nicht erst angezeigt werden, wenn sie komplett ist, sondern sobald ein zeichen ausgegeben wird, soll der browser dieses auch gleich anzeigen.
zb. ein countdown, wobei zwischen den zahlen eine sekunde gewartet wird: 3..2..1..boom.
ich vermute, dass der IE selbst einen Buffer hat und wartet bis dieser voll ist. wenn ich nämlich zb. beim countdown neben den zahlen noch etwa 4000 Bytes in form von leerzeichen mitsende, bekomme ich den gewünschten effekt. aber dass kann ja nicht die lösung sein!?
Hm. Ja, ich hatte genau das selbe Problem und leider gibt's dafür keine Lösung (etwas besser gesagt: keine guten, denn du hast ja eine gefunden). Das HTTP-Protokol, WebServer und Browser sind nunmal einfach nicht für diese Art von Tasks konzipiert worden.
Wenns dann aber um einen Countdown geht, habe ich dir noch ne Variante:
Sende mit perl ein HTML-Doku zurück mit einem JavaScript. Und Programmiere den Countdown mit JavaScript (den Anfangs- oder Initialwert kannst du ja mit perl ausgeben und im JS-Block als eine Variable ausgeben):
$count_begin = 09485; # or what ever...
print "<html><script src='countdown.js'></script>
<script>
var CountDownBegin=$count_begin;
startCountdown(); # function of countdown.js
</script> ...
</html>";
im countdown.js - file hast du die Funktion startCountdown, welche den Countdown iniziiert.
Mit JS kann man solche Realtime-Effekte nämlich ganz einfach machen, mit perl als Server-Programmiersprache wirds etwas komplizierter.
PS: hoffentlich liest das noch jemand, so weit unten.
Ja, ja. Das wird schon noch gelesen, aber die Antworten dauern dann etwas länger, da der Thread ausser "Reichweite" gerät...
Viele Grüsse
Philipp