phpbar.de logo

Mailinglisten-Archive

[php] connection_aborted!!!

[php] connection_aborted!!!

Alexander Wagner php_(at)_phpcenter.de
Wed, 18 Apr 2001 10:37:04 +0200


Claudia Sengutta wrote:
> Hallo! Bitte antwortet mir doch!

Das Problem ist ganz einfach: Was Du vorhast geht nicht. Nicht auf 
normalem Wege.
Wenn das Script fertig ist, wird es beendet.
Da hilft auch kein ingore_user_abort. Das verhindert nur, dass das 
Script beendet wird, wenn der Browser die Verbindung abbricht. Wenn das 
Script aber schlicht die letzte Zeile erreicht hat, wird es regulär 
beendet.

Die einzige Möglichkeit, zu tun, was Du willst, ist folgende:
Du baust ein Frameset auf, mit einem Frame, in dem ein PHP-Script 
läuft, welches einfach nur in einer Endlosschleife immer wieder den 
Verbindungsstatus abfragt. Dieses Script wird natürlich nie beendet und 
kann dadurch auch wirklich einen Browser-Abbruch feststellen.
So ähnlich funktioniert wohl auch ircg von Sascha Schumann, bei anderen 
HTTP-Chats kann man normalerweise nicht auf die Angaben, wie viele User 
am Chat teilnehmen, verlassen.

Von dieser Lösung würde ich aber abraten, und zwar aus zwei Gründen:
- Frames bite
- Dieser endlose streaming-Frame wird bei einigen Internet-Usern 
Probleme erzeugen, er wird einfach nicht ankommen. Dies wird i.d.R. 
durch bestimmte Firewalls oder Proxies verursacht. Ein Chat kann sich 
das leisten, wenn Streaming nicht funktioniert, funktioniert der ganze 
Chat nicht, ein streaming-Frame mehr oder weniger tut da nichts.

Mach es einfach wie alle anderen auch, nämlich gar nicht. HTTP ist 
nunmal ein statusloses, requestbasierten Protokoll welches sich für so 
ne Gimmicks wie automatisches Ausloggen nicht wirklich eignet. 
Verabschiede Dich von dem Gedanken, oder benutze Javascript (beim 
Browser-Schliessen noch schnell ein PHP-Script aufrufen, z.B. in einem 
Bild) oder obigen Workaround.

Gesundheit
Wagner

-- 
'When the computer industry is at a low, beer drinking is at a high.' 
Jon 'maddog' Hall said.
By combining both industries into a single course you can make sure you 
always have a job.


php::bar PHP Wiki   -   Listenarchive