Hallo, >Ich habe eine eher spezielle Frage zur CGI Programmierung mit C / C++. >In Perl gibt es die Möglichkeit Daten über den Webserver an den >Browser zu schicken, bevor das Script fertig abgelaufen ist.
Bei aktuellen Apache-Versionen (sowohl 1.3 als auch 2.0) brauchst Du dafür serverseitig nichts speziell konfigurieren, da sie das ohnehin so machen. >Nun zu meiner Frage: Gibt es eine Möglichkeit bei C / C++ CGI- >Programmen was ähnliches zu erreichen? Der folgende Artikel erläutert >einen Weg: http://www2.linuxjournal.com/lj-issues/issue82/4386.html > >Dieser scheint aber auf einer alten proprietären Implementation von >Netscape zu beruhen und funktioniert daher nicht überall. Das Umbenennen des Skriptes in nph-irgendwas war auch bei früheren Apache/NCSA Versionen der Weg, um das gewünschte zu erreichen. Inzwischen ist er nicht mehr nötig. Damit entfällt auch die Ausgabe des HTTP Statuscodes. Wichtig ist dagegen, bei der Programmierung des CGI-Programmes zu erreichen, dass Ausgaben nicht gepuffert werden. Wie das im einzelnen geht, hängt von der Programmiersprache ab. In Perl wird die Pufferung durch Setzen der Spezialvariable $| abgeschaltet, in C muss nach jeder Ausgabe mit fflush() der Puffer geleert werden. >Falls mir jemand entsprechende Informationen geben könnte wäre ich >äusserst dankbar! Das folgende CGI-Programm liefert 5 Ziffern im Sekundenabstand: #include <stdio.h> int main() { int i; printf("Content-Type: text/plain\n\n"); for(i=0; i<5; ++i) { printf("%d\n", i); fflush(NULL); sleep(1); } return 0; } Man sollte ausserdem noch beachten, dass zwischen dem Server und dem Browser agierende Proxies den Effekt im allgemeinen kaputt machen. Beim Testen sollte man daher alle Proxies abschalten. Gruß, Harald -- Harald Weidner [EMAIL PROTECTED] -------------------------------------------------------------------------- Apache HTTP Server Mailing List "users-de" unsubscribe-Anfragen an [EMAIL PROTECTED] sonstige Anfragen an [EMAIL PROTECTED] --------------------------------------------------------------------------