AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Onlinestatus ermitteln
Thema durchsuchen
Ansicht
Themen-Optionen

Onlinestatus ermitteln

Ein Thema von emsländer · begonnen am 2. Feb 2005 · letzter Beitrag vom 3. Feb 2005
Antwort Antwort
Benutzerbild von emsländer
emsländer

Registriert seit: 21. Aug 2004
Ort: Lengerich
658 Beiträge
 
RAD-Studio 2009 Ent
 
#1

Onlinestatus ermitteln

  Alt 2. Feb 2005, 09:41
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


Narben am Körper sind ein Zeichen dafür, das man gelebt hat.
Narben auf der Seele sind ein Zeichen dafür, das man geliebt hat.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Onlinestatus ermitteln

  Alt 2. Feb 2005, 09:55
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 in der DP gelesen habe. Der Link im Beitrag von Chäffe ganz unten gibt dir die Antwort
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Plague

Registriert seit: 6. Okt 2003
591 Beiträge
 
#3

Re: Onlinestatus ermitteln

  Alt 2. Feb 2005, 09:56
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
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#4

Re: Onlinestatus ermitteln

  Alt 2. Feb 2005, 10:05
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
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von emsländer
emsländer

Registriert seit: 21. Aug 2004
Ort: Lengerich
658 Beiträge
 
RAD-Studio 2009 Ent
 
#5

Re: Onlinestatus ermitteln

  Alt 2. Feb 2005, 10:12
Zitat von alcaeus:
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

Hi,

die Proxyeinstellungen sind ja nicht das Problem - kann man ja machen.

ich habe im Moment folgende Funktion dafür.

Delphi-Quellcode:
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;
Solang nur das Netzwerkkabel gezogen wird, klappt das ja ganz gut. Aber diese Funktion erkennt nicht, wenn eine URL nicht erreichbar ist.

Gruss

EL


Narben am Körper sind ein Zeichen dafür, das man gelebt hat.
Narben auf der Seele sind ein Zeichen dafür, das man geliebt hat.
  Mit Zitat antworten Zitat
Plague

Registriert seit: 6. Okt 2003
591 Beiträge
 
#6

Re: Onlinestatus ermitteln

  Alt 3. Feb 2005, 11:07
Das wiederrum wäre mit meiner Methode ersichtlich!

Gruß
Thomas
  Mit Zitat antworten Zitat
corgan

Registriert seit: 16. Okt 2003
Ort: Hannover
44 Beiträge
 
Delphi 7 Professional
 
#7

Re: Onlinestatus ermitteln

  Alt 3. Feb 2005, 11:29
Zitat von Plague:
Das wiederrum wäre mit meiner Methode ersichtlich!

Gruß
Thomas
hast du da evtl ne fertige procedure ?

tnxs
greetz Corgan
  Mit Zitat antworten Zitat
corgan

Registriert seit: 16. Okt 2003
Ort: Hannover
44 Beiträge
 
Delphi 7 Professional
 
#8

Re: Onlinestatus ermitteln

  Alt 3. Feb 2005, 11:38
Zitat von "emsländer:

Delphi-Quellcode:
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;
wofür ist denn die variable VerifyUrl : String; gedacht ?
die wird doch garnicht angesprochen ??

greetz Corgan
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz