Moin Moin !
HTTP ist per Definition ein "stateless" Protokoll, sprich: garantiert online ist Dein Besucher nur in dem kurzen Moment, in dem eine TCP-Connection zum Webserver besteht, um eine Resource anzufordern und auszuliefern. Danach kannst Du nicht einmal mehr raten, ob der Besucher noch online ist.
Stell Dir folgendes Script vor:
#!/bin/sh
Starte Dial-Up-Verbingung
ppp-manager dial
Eine Resource anfordern und speichern
lynx -dump http://www.example.com/php/foobar.php > somefile.html
Beende Dial-Up-Verbindung
ppp-manager hangup
Übersetzt nach Windows:
@echo off
ppp-manager dial
lynx -dump http://www.example.com/php/foobar.php > somefile.html
ppp-manager hangup
(ppp-manager ist irgendein Programm, daß die PPP-Verbindung steuert.)
Bei einer DSL-Verbindung ist das Script bestenfalls in weniger als einer Sekunde fertig. Beim Server kommt dabei exakt eine TCP-Verbindung für den Webserver an, mit einem GET-Request für /php/foobar.php, die der Webserver irgendwie beantwortet. Danach wird die Verbindung beendet und Du hast absolut keine Chance herauszufinden, ob der Client "noch da" ist, denn nach dem Auflegen kann die freigegebene IP-Adresse des Clients sofort für den nächsten Surfer vergeben werden. D.h. selbst wenn ein Ping funktionieren würde, kannst Du nicht sicher sein, ob die Antwort auf den Ping von demjenigen kommt, der den Request abgeschickt hat.
Einwände? Das Script ist unrealistisch?
Nicht unbedingt. Man kann so z.B. prima nach Updates für Virenscanner suchen. Oder man benutzt einen Dialing Deamon, der die Verbindung nur bei echtem Bedarf für einen kurzen Moment herstellt, z.B. weil man per Handy arbeiten muß.
V.92-Modems haben übrigens eine nette Funktion, die es erlaubt, die Verbindung zur Gegenstelle beim Provider zu "parken", dabei wird zwar die Telefonleitung aufgelegt (um z.B. zu Telefonieren), aber bei der nächsten Einwahl erkennen sich Modem und Gegenstelle wieder und sparen sich das langwirige Aushandeln der Verbindungsparameter, d.h. die Verbindung ist quasi sofort wieder da. Auf höheren Protokollebenen, z.B. IP, könnte das aber bedeuten, daß eine neue Adresse vergeben wird.
Alexander
Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"