Gero Takke: Unterbrechung eines Streams feststellen (Chat-Logout)

Beitrag lesen

Tach Aqua,

Frage in die Runde:
Störts wenn ich hier bin?

Nein, es stoert niemanden, dass du hier bist.
Und ich bin mir auch ziemlich sicher, dass du das weisst.
Ich bin immernoch der Meinung, dass ein Kick im Chat
noch lange kein Grund ist, sich dort nie wieder blicken
zu lassen - ich habe auch schon mehrere abbekommen
(Irgendjemand nocht nicht? Dann kommt doch so gegen 10 Morgens,
und holt ihn euch ab >:)

dass ich alle ... was weiß ich... 60 Sekunden....
überprüfe ob  $user noch im Chat ist.
Aber das ist dann noch immer nicht das Idealste.....

Nun komm ich zu dem was ich will:
Ein Kollege sagte mir mal ich solle mich erkundigen wie das heißt,
wo UNIX angeblich irgendein Signal (pipe??) loslässt,
sobald von $user der Stream abreisst,
das kann das klicken des "stop" buttons am Browser sein,
genauso gut wie ein Browsersturz,
reissen der internet-conenction,
Egal_was_   sobald der Stream futsch ist kommt ein Signal und das kann ich _angeblich_ mit Perl auffangen.

Es gibt etwas, dass SIGPIPE heisst. Allerdings habe ich nur Informationen
im Zusammenhang mit Sockets und Pipes. finden koennen. Das Problem ist,
dass das IMHO bei CGI nicht greift. Das ueber CGI aufgerufene Programm
gibt Ausgaben (ueber STDOUT) an den Webserver weiter. Wenn der Client
STOP drueckt, heisst das noch nicht, dass der Webserver den STDOUT
vom CGI nicht mehr aufnimmt. Ich habe das natuerlich nicht geprueft,
aber ich vermute einfach, dass es so ist. Ich weiss zumindest, dass
Cassiopeia, was ja ziemlich unumstritten der Marktfuehrer fuer HTTP-
Chats ist, auch Timeouts benutzt.

Ich habe trotzdem noch ein sehr destruktives Kommentar dabei:
Lass es sein. Ich finde, dass HTTP-Chats eines der uebelsten
Sachen ist, die es im Netz zu finden gibt. Da wird mit
Browser-Bugs, halbfunktionierenden Javascripts und so weiter
und so fort um die eigentliche Funktion von HTTP herumgebastelt.

Fuer Chats gibts IRC. Und wenn einem das nicht gefaellt, sollte
man halt schauen, dass man eine Alternative programmiert,
die nicht auf HTTP/HTML aufbaut. "Streaming-HTML" gibt es nicht,
ein Tag faengt an und _muss_ irgendwo aufhoeren. Wenn da
das </body> einfach nicht mitgeschickt wird, weil ja noch
Infos im body kommen, dann ist es alles andere als
selbstverstaendlich, dass die Seite gescheit angezeigt wird.

Soviel dazu, Entschuldigung, wenn das jetzt nicht ganz verstaendlich
war, ich bin ziemlich muede.

Schuesschen,
Gero