![]() |
Onlinestatus ermitteln
Moin,
Wie kann ich (in Delphi) sicher feststellen, ob der Rechner eine Internetverbindung hat? Dabei muss es irrelevant sein, ob er in einem Netz hinter einer Firewall, einem Router steht oder auch direkt angeschlossen ist. Gruss EL |
Re: Onlinestatus ermitteln
Hai EL,
eigentlich überhaupt nicht ;-) Wenn es über einen Router geht kannst Du nicht wissen ob eine Internetverbindung besteht. Dazu gab es sogar mal irgendwo eine lustige Geschichte. [EDIT]Ich wusste doch das ich es hier ![]() |
Re: Onlinestatus ermitteln
Ich würde mit der IdHTTP Komponente eine irelevante Seite oder Datei aufrufen und in einen Stream laden. Wenn dieser dann etwas enthält kannst Du sicher sein, dass du im Internet bist...
Gruß Thomas |
Re: Onlinestatus ermitteln
Hallo Plague,
das heißt nur, dass bei einer evtl. Firewall der HTTP-Port freigeschaltet ist. Endgültigen Aufschluss darüber kann man nicht geben, vor allem nicht wenn irgendwo ein Proxy dazwischenhängt, und die Proxyeinstellungen z.B. im IE eingetragen sind. Dann geht das mit den Indys nicht, da du dort ja auch noch die Proxyeinstellungen setzen müsstest. Greetz alcaeus |
Re: Onlinestatus ermitteln
Zitat:
Hi, die Proxyeinstellungen sind ja nicht das Problem - kann man ja machen. ich habe im Moment folgende Funktion dafür.
Delphi-Quellcode:
Solang nur das Netzwerkkabel gezogen wird, klappt das ja ganz gut. Aber diese Funktion erkennt nicht, wenn eine URL nicht erreichbar ist.
function Tisacheck.isOnline(VerifyUrl : String; ConnectIfOffline : Boolean=false) : Boolean;
Var bOn : Boolean; // Sub-Procedure procedure checkOnline; Var wsaData : TwsaData; begin if(WsaStartup(MAKEWORD(1,1),wsadata) = 0) then try // Internetverbindung prüfen bOn := (InternetGetConnectedState(nil,0)); finally WsaCleanUp; end; end; //Main-Function begin result := false; checkOnLine; if (not bOn) and (ConnectIfOffline) then begin if InternetAutodial(INTERNET_AUTODIAL_FORCE_ONLINE or INTERNET_AUTODIAL_FORCE_UNATTENDED, 0) then begin checkOnline; result := bOn; end; end else result := bOn; end; Gruss EL |
Re: Onlinestatus ermitteln
Das wiederrum wäre mit meiner Methode ersichtlich!
Gruß Thomas |
Re: Onlinestatus ermitteln
Zitat:
tnxs greetz Corgan |
Re: Onlinestatus ermitteln
Zitat:
die wird doch garnicht angesprochen ?? greetz Corgan |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz