Internet verbindung checken

02/12/2009 - 15:57 von Finn Stampe Mikkelsen | Report spam
Hallo

Ich arbeite an einer applikation, die verschiedene funktionen die eine
internet verbindung benötigt. Diese funktionen müssen abgeschaltet werden,
wenn keine verbindung <um internet besteht.

Ich benutze im moment diesen kode:

//Creating the extern function...
[DllImport("wininet.dll")]
private extern static bool InternetGetConnectedState( out int
Description, int ReservedValue );

//Creating a function that uses the API function...
public static bool IsConnectedToInternet( )
{

int Desc ;
return InternetGetConnectedState( out Desc, 0 ) ;
}

Es funktioniert zwar einwandfrei, aber es vergeht 4-5 sekunden bis der
status sich àndert. Manchmal sogar làngere zeit. Ich kann diese verzögerung
nicht verstehen und hàtte gerne einen kode, die nicht diese verzögerung hat.
Ich benutze einen timer tick der jede 100ms den status checkt.

Gibt es eine bessere methode um einen verbindungs status zum internet zu
checken??

/Finn

Der er 10 slags mennesker - Dem som forstår binær og dem som ikke gør.
There are 10 kinds of people. Those who understand binary and those who
don't.
Es gibt 10 Arten von Menschen. Die, die Binàr verstehen, bzw. die, die es
nicht tuhen.
 

Lesen sie die antworten

#1 Stefan Hoffmann
02/12/2009 - 18:07 | Warnen spam
hallo Finn,

Finn Stampe Mikkelsen wrote:
Es funktioniert zwar einwandfrei, aber es vergeht 4-5 sekunden bis der
status sich àndert. Manchmal sogar làngere zeit. Ich kann diese
verzögerung nicht verstehen und hàtte gerne einen kode, die nicht diese
verzögerung hat. Ich benutze einen timer tick der jede 100ms den status
checkt.

Gibt es eine bessere methode um einen verbindungs status zum internet zu
checken??


Nachdem sich deine "verschiedenen Funktionen" sicherlich mit einem
Server verbinden, ist einmal ein Ping auf dein Ziel interessant:

http://msdn.microsoft.com/de-de/lib...x#ID0E4FAC

Wenn du einen Webserver kontaktierst, kannst du natürlich mit einem
einfachen HttpRequest die Verfügbarkeit prüfen.

http://msdn.microsoft.com/de-de/lib...quest.aspx

Erst wenn einer dieser Tests fehlschlàgt, würde ich mittels
InternetGetConnectedState() die Verbindung prüfen.


mfG

Ähnliche fragen