Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Herausfinden ob Internet aktiv ist ohne selbst eine aufzuba (https://www.delphipraxis.net/123886-herausfinden-ob-internet-aktiv-ist-ohne-selbst-eine-aufzuba.html)

Kostas 10. Nov 2008 20:26


Herausfinden ob Internet aktiv ist ohne selbst eine aufzuba
 
Hallo Zusammen,

hat jemand eine Idee wie ich herausfinden kann ob die Internetverbindung soeben steht.
Wenn ich einen HTTP request absetzen würde, würde die Internetverbindung aufgebaut werden. Genau das
möchte ich nicht. Ich möchte also nur herausfinden ob gegenwertig die Internetverbindung steht.

Der Hintergrund ist, meine Anwendung soll wenn sie gestartet wird, und das Internet gerade steht,
einen HTTP-Server abfragen ob es updates gibt. Die Abfrage soll jedoch selbst nicht die Internet
Verbindung.

Gruß Kostas

Die Muhkuh 10. Nov 2008 20:28

Re: Herausfinden ob Internet aktiv ist ohne selbst eine aufz
 
Es ist nicht möglich, zu 100% überprüfen, ob eine Verbindung besteht oder nicht.

Z4ppy 10. Nov 2008 20:34

Re: Herausfinden ob Internet aktiv ist ohne selbst eine aufz
 
Guckst du hier

MfG Z4ppy

Sir Rufo 10. Nov 2008 20:37

Re: Herausfinden ob Internet aktiv ist ohne selbst eine aufz
 
Zitat:

Zitat von Die Muhkuh
Es ist nicht möglich, zu 100% überprüfen, ob eine Verbindung besteht oder nicht.

Ist es schon ... aber dazu muß der Router diese Information irgendwie abfragbar bereitstellen (z.B. SNMP, WebInterface, ...)
Ein Beispiel dazu findet sich bei frifra - Router-Monitor, der fragt das WebInterface ab.
Wer z.B. ein Lancom-Router sein eigen nennt, der kann dieses auch per SNMP abfragen (und noch jede Menge mehr)

cu

Oliver

Sir Rufo 10. Nov 2008 20:41

Re: Herausfinden ob Internet aktiv ist ohne selbst eine aufz
 
Zitat:

Zitat von Z4ppy
Guckst du hier

MfG Z4ppy

ich kann mir nicht vorstellen, das diese Funktion meinen korrekten Internetstatus anzeigen kann.
Denn ein Rechner hinter einem Router weiß nur wen er fragen soll (Default-Gateway), aber ob der mehr weiß (also verbunden ist), dazu müsste man den Router explizit fragen.

Und danach sieht diese Funktion nicht aus.

cu

Oliver

Kostas 10. Nov 2008 20:46

Re: Herausfinden ob Internet aktiv ist ohne selbst eine aufz
 
Zitat:

Zitat von Z4ppy
Guckst du hier

MfG Z4ppy

Leider funktioniert die Funktion nicht.

Ich habe meine DSL Leitung unterbochen und die anwendung gestartet. Sie meldet immer noch
Internet ist verbunden.

Gruß Kostas

Die Muhkuh 10. Nov 2008 20:47

Re: Herausfinden ob Internet aktiv ist ohne selbst eine aufz
 
Wie ich sagte, es wird nicht möglich sein. Ein Ansatz wäre evtl. der Weg von Rufo.

Kostas 10. Nov 2008 20:51

Re: Herausfinden ob Internet aktiv ist ohne selbst eine aufz
 
Zitat:

Zitat von Sir Rufo
Zitat:

Zitat von Die Muhkuh
Es ist nicht möglich, zu 100% überprüfen, ob eine Verbindung besteht oder nicht.

Ist es schon ... aber dazu muß der Router diese Information irgendwie abfragbar bereitstellen (z.B. SNMP, WebInterface, ...)
Ein Beispiel dazu findet sich bei frifra - Router-Monitor, der fragt das WebInterface ab.
Wer z.B. ein Lancom-Router sein eigen nennt, der kann dieses auch per SNMP abfragen (und noch jede Menge mehr)

cu

Oliver

Ich suche eine allgemein gültige Lösung die nicht abhängig ist von irgendwelchen Routern,
da ich nicht wissen kann welche Router beim Kunden eingesetzt werden.

Die Abfrage scheint also wirklich nicht Möglich zu sein. Das überrascht mich.

Gruß Kostas

Sir Rufo 10. Nov 2008 20:55

Re: Herausfinden ob Internet aktiv ist ohne selbst eine aufz
 
Zitat:

Zitat von Kostas
Zitat:

Zitat von Z4ppy
Guckst du hier

MfG Z4ppy

Leider funktioniert die Funktion nicht.

Ich habe meine DSL Leitung unterbochen und die anwendung gestartet. Sie meldet immer noch
Internet ist verbunden.

Gruß Kostas

Wie schon erwähnt, alles andere hätte mich auch gewundert.
Diese Funktion ist nur für Dial-Up-Verbindungen verwendbar.

Alles andere hätte mich auch gewundert, weil das Wesen des Internets besteht darin, nur den nächsten Zugangspunkt zu kennen, der für die gewünschte Richtung zuständig ist. Alles weitere passiert auf diesem Zugangspunkt, wo das Spiel wieder von vorne losgeht.

Nur dadurch ist es auch möglich, bei Ausfällen von Leitungen, diese auch einfach und schnell umzuleiten.
Die Umleitung wird nur den direkt beteiligten Geräten (Routern) mitgeteilt, und die lenken diese dann bei Anfragen entsprechend weiter.

Aus diesem Grund geht nur der Weg über den Router.

Aus selbigen Grund ist es auch nicht möglich, aus der Konnektivität zum Internet (Router meldet das der Zugang besteht) auf die Verfügbarkeit eines speziellen Servers im Internet zu schließen. Also nur wenn ich Internet habe, muss ich nicht auch unbedingt auf Server xy.zz zugreifen können.

Da hilft nur Try Except ...

cu

Oliver

Sir Rufo 10. Nov 2008 20:59

Re: Herausfinden ob Internet aktiv ist ohne selbst eine aufz
 
Zitat:

Zitat von Kostas
Ich suche eine allgemein gültige Lösung die nicht abhängig ist von irgendwelchen Routern,
da ich nicht wissen kann welche Router beim Kunden eingesetzt werden.

Die Abfrage scheint also wirklich nicht Möglich zu sein. Das überrascht mich.

Mich nicht :mrgreen:
siehe meinen Post darüber, daraus ergibt sich genau diese Tatsache:
Im Internet kenne ich nur meine direkten Nachbarn.
Wenn ich wissen möchte, was die wissen, muss ich fragen, und die Antwort bringt mich immer nur einen Nachbarn weiter.

cu

Oliver

P.S.: Wikipedia: Routing

Kostas 10. Nov 2008 21:07

Re: Herausfinden ob Internet aktiv ist ohne selbst eine aufz
 
Zitat:

Zitat von Sir Rufo
Zitat:

Zitat von Kostas
Ich suche eine allgemein gültige Lösung die nicht abhängig ist von irgendwelchen Routern,
da ich nicht wissen kann welche Router beim Kunden eingesetzt werden.

Die Abfrage scheint also wirklich nicht Möglich zu sein. Das überrascht mich.

Mich nicht :mrgreen:
siehe meinen Post darüber, daraus ergibt sich genau diese Tatsache:
Im Internet kenne ich nur meine direkten Nachbarn.
Wenn ich wissen möchte, was die wissen, muss ich fragen, und die Antwort bringt mich immer nur einen Nachbarn weiter.

cu

Oliver

Ja das habe ich soweit verstanden.
Mir geht es eigentlich nur darum selbst keine Internetverbindung durch meine request herzustellen.
Es gibt user die gehen per ISDN ins Internet. Ich möchte verhindern das wenn mein Programm
gestartet wird, jedes mal auch der Anmeldedialog erscheint falls dieser so eingestellt ist.
Das würde mich als Anwender nerven. Wenn ich dem Anwender ein Button zum anklicken gebe "Prüfe auf Updates"
könnte es das nach einer gewissen Zeit vergessen.

Gruß Kostas

Die Muhkuh 10. Nov 2008 21:08

Re: Herausfinden ob Internet aktiv ist ohne selbst eine aufz
 
Bring doch nach einem Monat eine Meldung, ob das Programm nach Updates prüfen soll, wenn der Anwender einen Monat lang keine Updates gemacht hat?

Kostas 10. Nov 2008 21:14

Re: Herausfinden ob Internet aktiv ist ohne selbst eine aufz
 
Zitat:

Zitat von Die Muhkuh
Bring doch nach einem Monat eine Meldung, ob das Programm nach Updates prüfen soll, wenn der Anwender einen Monat lang keine Updates gemacht hat?

Ich glaube das ist die besere Möglichkeit. Du hast Recht so werde ich es machen.

Dankeschön
Gruß Kostas

omata 10. Nov 2008 21:22

Re: Herausfinden ob Internet aktiv ist ohne selbst eine aufz
 
Schön das du es eingesehen hast. Trotzdem kann ich mir folgendes nicht verkneifen: klick

Die Muhkuh 10. Nov 2008 21:29

Re: Herausfinden ob Internet aktiv ist ohne selbst eine aufz
 
Danke, den Link such ich seit 30 Minuten *g*

Ich hatte immer Maria Adelhöfen im Kopf *g*

Sir Rufo 11. Nov 2008 00:25

Re: Herausfinden ob Internet aktiv ist ohne selbst eine aufz
 
Zitat:

Zitat von omata
Schön das du es eingesehen hast. Trotzdem kann ich mir folgendes nicht verkneifen: klick

Kannte ich noch nicht, aber sehr geil!

cu

Oliver

RWarnecke 11. Nov 2008 06:30

Re: Herausfinden ob Internet aktiv ist ohne selbst eine aufz
 
Bei den Schweizern gibt es das Beispiel.

mkinzler 11. Nov 2008 06:47

Re: Herausfinden ob Internet aktiv ist ohne selbst eine aufz
 
Welches aber das grundsätzlich Problem nicht löst

Morphie 11. Nov 2008 07:17

Re: Herausfinden ob Internet aktiv ist ohne selbst eine aufz
 
Wie macht Vista das denn?
Dort wird die Netzwerkverbindung doch auch als Lokal und Internet erkannt.

Und das scheint dort recht gut zu funktionieren...

mkinzler 11. Nov 2008 07:20

Re: Herausfinden ob Internet aktiv ist ohne selbst eine aufz
 
Aber nur wenn die Router entsprechende Protokolle unterstützen.

Union 11. Nov 2008 07:46

Re: Herausfinden ob Internet aktiv ist ohne selbst eine aufz
 
Hallo,

ich hatte das mal so gelöst:
Delphi-Quellcode:
if not InternetGetConnectedState(NIL, 0) then begin
   InternetAutodial(internet_autodial_force_unattended,0 );
end;
Du kannst dann auch statt NIL einen Pointer auf ein DWORD übergeben und sehen, welche Bits dann gesetzt sind in den unterschiedlichen Situationen.
Zudem würde ich erst versuchen, die Verbindung zu testen / aufzubauen direkt bevor eine Konnektivität benötigt wird, z.B. Datenaustausch, Mailversand usw.

RWarnecke 11. Nov 2008 10:40

Re: Herausfinden ob Internet aktiv ist ohne selbst eine aufz
 
Zitat:

Zitat von mkinzler
Aber nur wenn die Router entsprechende Protokolle unterstützen.

Ein Router wählt sich doch ins Internet ein, sodass jeder Rechner der an den Router angeschlossen wird automatisch mit dem Internet verbunden ist, sofern die Router IP-Adresse als Gateway eingetragen ist. Diese Adresse sollte ja als Gateway eingetragen sein, wenn die IP-Adresse per DHCP verteilt wird. Deshalb verstehe ich das ganze nicht, warum ich noch abfragen muss, ob eine Verbindung zum Internet besteht, wenn der Rechner an einem Router angeschlossen ist. Bei einem DSL-Modem oder ISDN, da kann ich es verstehen. Dazu sollte aber das Beispiel von den Schweizern aus meinem Post 17 ausreichend sein.

Ich hätte dazu dann noch dieses Beispiel.

Luckie 11. Nov 2008 11:12

Re: Herausfinden ob Internet aktiv ist ohne selbst eine aufz
 
Zitat:

Zitat von RWarnecke
Diese Adresse sollte ja als Gateway eingetragen sein, wenn die IP-Adresse per DHCP verteilt wird.

Das eine hat mit dem anderen nichts zu tun. Einen Gateway musst du immer angeben, wenn du aus dem lokalen Netz raus willst. DHCP vergibt nur dynmaische IP-Adressen an die Geräte, dazu ist aber kein Gateway nötig, meiner Meinung nach.

RWarnecke 11. Nov 2008 12:26

Re: Herausfinden ob Internet aktiv ist ohne selbst eine aufz
 
Zitat:

Zitat von Luckie
Das eine hat mit dem anderen nichts zu tun. Einen Gateway musst du immer angeben, wenn du aus dem lokalen Netz raus willst. DHCP vergibt nur dynmaische IP-Adressen an die Geräte, dazu ist aber kein Gateway nötig, meiner Meinung nach.

Bei meinem Router zuhause, gebe ich lediglich nur den Adressbereich an und dann bekommt mein Rechner eine IP-Adresse, eine Subnetz Maske und im Gateway steht die IP-Adresse vom Router drin. Auch bei einem DHCP - Server gibst Du ein Gateway mit an.

mkinzler 11. Nov 2008 12:27

Re: Herausfinden ob Internet aktiv ist ohne selbst eine aufz
 
Zitat:

Auch bei einem DHCP - Server gibst Du ein Gateway mit an.
Dieser kann aber auch vom DHCP-Server zurückgegeben werden

nat 11. Nov 2008 12:35

Re: Herausfinden ob Internet aktiv ist ohne selbst eine aufz
 
Zitat:

Zitat von Z4ppy
Guckst du hier

MfG Z4ppy

nur so als idee:
teste doch mit der o.g. funktion den status. bei isdn-usern (usw.) sollte die funktion doch gehen, oder?
wenn false, dann offline. wenn true (entweder isdn: online, oder lan-verbunden), dann machste
n ping an google.de oder so und du bist online wenn das klappt.
vll habe ich ja auch n denkfehler, aber so könnte das doch klappen, oder?

Union 11. Nov 2008 13:11

Re: Herausfinden ob Internet aktiv ist ohne selbst eine aufz
 
Zitat:

dann machste n ping an google.de oder so und du bist online wenn das klappt.
Und dann wird die Verbindung durch einen Router sofort aufgebaut. Aber ist das realistisch, ein Netzwerk mit Router der an ISDN hängt (außer als Backup-Leitung)? ISDN wird doch wohl eher direkt am PC sein.

nat 11. Nov 2008 13:17

Re: Herausfinden ob Internet aktiv ist ohne selbst eine aufz
 
jo, an die variante hab ich auch gedacht, aber ma im ernst, ich glaube die kann man vernachlässigen.
bei 99,99% der user sollte das doch hinhauen! ;)
und wenn man wirklich rücksicht auf diese usergruppe nehmen muß, dann kann man ja noch
per option die online-prüfung deaktivieren.

edit:
mal ne frage, baut ein so konfiguriertes system auch eine inet verbindung auf
wenn man eine dns anfrage stellt die der router nicht auflösen kann (z.B. an google.de).
kenne mich da nicht so aus (im zeitalter der dsl-flatrates... ;) )

Volle 11. Nov 2008 13:19

Re: Herausfinden ob Internet aktiv ist ohne selbst eine aufz
 
und wenn es nicht realistisch waere? Ein kumpel von mir hat noch nen stein alten DSL vertrag der telekom mit 1.5gb traffic volumen im monat. Dann wuerde bei dem Versuch auch traffic hinzukommen. Nich jeder der dsl hat hat auch gleichzeitig ne flat. Von daher hilft es nichts das ISDN nicht aufbauen zu lassen aber wenn man an nem router sitzt dann zu sagen "hey komm dann test ich halt, wird schon nichts kosten"

nich dass dabei wirklich viel traffic verbraten wuerde. Es gibt da dann auch noch die Zeit tarife ... wenn mein router immer 5 minuten online waere nur weil ein prog kurz guckt ob man online ist oder nicht ..waer schon aergerlich ..

nat 11. Nov 2008 13:25

Re: Herausfinden ob Internet aktiv ist ohne selbst eine aufz
 
Zitat:

Zitat von nat
und wenn man wirklich rücksicht auf diese usergruppe nehmen muß, dann kann man ja noch
per option die online-prüfung deaktivieren.

deshalb diese "lösung". da das wohl eine randgruppe is, kann man glaube ich in kauf nehmen,
dass diese user nunmal "extra" eine option an bzw ausstellen müssen.

Volle 11. Nov 2008 13:58

Re: Herausfinden ob Internet aktiv ist ohne selbst eine aufz
 
aber dann kann man sich ja gleich die muehe sparen und beim setup oder beim ersten start fragen ob das automatische update aktiviert sein soll oder nicht.

Wie schaut das ganze eigentlich aus wenn man ueber einen Proxy mit dem Internet verbunden ist? da wuerde doch dann "keine verbindung" beim test herauskommen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:08 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