auf Localhost herausfinden, ob ich online bin
martinli
- php
0 Manuel B.
0 Sami0 Der Martin
Hallo,
ich bräuchte eine Möglichkeit, wie ich ohne Fehlermeldung herausfinden kann, ob in online bin oder nicht.
Ich möchte einfach im localhost ein Skript aufrufen und dass soll dann TRUE oder FALSE herausliefern, wenn ich online bin oder eben nicht.
Hat jemand eine Idee, wie das am einfachsten geht??
Viele Grüße und vielen Dank!
Martin
Ich grüsse den Cosmos,
Ich möchte einfach im localhost ein Skript aufrufen und dass soll dann TRUE oder FALSE herausliefern, wenn ich online bin oder eben nicht.
Ruf eine Seite im Internet auf, wenn diese erreichbar ist, bist du online. In PHP bietet sich dafür z.b. fopen() an.
Möge das "Self" mit euch sein
Moin
wenn du in der php.ini allow_url_fopen = On eingestellt hast, würde ich versuchen, per fopen eine Seite im Netz zu öffnen. Wenns klappt, bist du online, wenn fopen false zurücksendet, nicht.
Damit es keine häßlichen Fehlermeldungen gibt, nutze @ um die Fehler zu unterdrücken.
$fh = @fopen("http://www.heise.de","r");
Lieben Gruß
Sami
Hi,
ich bräuchte eine Möglichkeit, wie ich ohne Fehlermeldung herausfinden kann, ob in online bin oder nicht.
auch wenn es dir vielleicht nicht so klar ist: Dazu müsstest du erst einmal definieren, was du unter "online" verstehst.
Ein paar Beispiele:
1. Mein PC ist über ein V.92-Modem und PPP mit dem Internet verbunden. Das Modem hat die Verbindung aber mal kurz geparkt, um über die gleiche Leitung einem Telefongespräch Vorrang einzuräumen. Bin ich online?
2. Mein PC ist über ein V.92-Modem und PPP mit dem Internet verbunden, aber ich habe, um Kosten zu sparen, die Modemverbindung kurz getrennt. Mein Rechner behält aber trotzdem seine über das PPP-Interface dynamisch zugewiesene IP bei und merkt nicht, dass das Modem die Verbindung getrennt hat. Bin ich online?
3. Ich gehe über einen NAT-Router und DSL ins Internet. Der Router hat die Verbindung nach 5min Leerlauf getrennt, würde sie aber beim Zugriff auf eine Internet-Ressource sofort wieder aufbauen, ohne dass ich das überhaupt merke. Bin ich nun online?
4. Ich bin über Modem, LAN, oder andere Techniken mit dem Internet verbunden, aber eine Firewall hat "sicherheitshalber" gerade jeglichen Verkehr blockiert. Bin ich dann noch online?
Du siehst also, dass es sehr von der individuellen Definition abhängt. Und damit sind auch die Methoden, diesen Online-Status festzustellen, sehr unterschiedlich. Im Fall 1. und 2. nur durch tiefes Eindringen in Windows-API-Aufrufe, im Fall 3. durch gezieltes Abfragen des Router-Status, im Fall 4. fast unmöglich.
Das einfache Abrufen einer Internet-Ressource "auf Probe", wie es Sami vorschlägt, bringt's auch nicht, denn erstens kann das dazu führen, dass automatisch eine Verbindung aufgebaut wird, obwohl du eigentlich nur wissen willst "momentan nicht". Zweitens heißt es nicht zwangsläufig, dass du offline bist, wenn die ausgewählte Ressource nicht erreichbar ist - der zuständige Server könnte seinerseits ein Problem haben und nicht erreichbar sein.
Du hast dir also eine fast unlösbare Aufgabe gestellt.
Und zu guter Letzt frage ich mich noch: Wozu möchtest du das überhaupt wissen?
So long,
Martin