MudGuard: Timing der HTML Ausgabe

Beitrag lesen

Hi,

ich lasse ein Perl Script laufen, welches Dateien durchsucht und XML files auf dem Server generiert. Ausserdem soll es dann auch eine HTML Seite mit Statusinformationen an den Browser senden, auch um dem User zu zeigen, dass der Server was tut.

Also so:

  1. File 1 oeffnen
  2. Meldung an Browser: File 1 geoeffnet
  3. Daten suchen
  4. Meldung an Browser: Daten gefunden
  5. File 2 oeffnen
  6. Meldung an Browser: File 2 geoeffnet
    usw.
    Leider passiert das folgende:
  7. File 1 oeffnen
  8. Daten suchen
  9. File 2 oeffnen
  10. Meldung an Browser: File 1 geoeffnet
  11. Meldung an Browser: Daten gefunden
  12. Meldung an Browser: File 2 geoeffnet
    usw.

Es ist also so, dass erst das ganze Dateihandling durchgefuehrt wird und am Ende die HTML Seite geladen wird.
Versteht Ihr was ich meine???
Ich mache alle Ausgeban mit "print" und schalte dafuer vor jedem Wechsel zw. File und Browser mit "select" zw. MYFILEHANDLE und STDOUT hin und her.
Warum passieren die Browser "prints" nicht chronologisch?

  • Wie sollen wir das ohne Kenntnis des Scripts wissen?
  • Finden die prints vielleicht nicht in der Reihenfolge oder zu den Zeitpunkten statt, die Du annimmst?
  • Ist die Ausgabe des Scripts vielleicht gepuffert?

(Je nach Art meines Scripts und des HTML codes werden manchmal Teile der HTML-Seite auch schon zwischendurch geschrieben, nur habe ich eben keinen Einfluss darauf, wann das passiert...)

Richtig erkannt. Es ist nicht garantiert, daß der Browser die Seite häppchenweise bekommt.
Ein einziger Proxy dazwischen, der die Seite erst weiterreicht, wenn sie vollständig ist, und schon ist der ganze Effekt weg...
Außerdem gibt es Browser, die erst dann anfangen, die Seite darzustellen, wenn sie entweder komplett ist oder eine gewisse Mindestmenge an Daten angekommen ist...

Andreas