Überprüfen Sie die Internetverbindung in C#
-
Verwenden Sie
GetIsNetworkAvailable()
, um die Internetverbindung inC#
zu überprüfen -
Verwenden Sie
InternetGetConnectedState(wininet)
, um die Internetverbindung inC#
zu überprüfen -
Pingen Sie eine IP-Adresse, um die Internetverbindung in
C#
zu überprüfen
In diesem Artikel wird erläutert, wie Sie in der Programmiersprache C# überprüfen, ob die Internetverbindung verfügbar ist oder nicht.
In einigen Anwendungsfällen müssen wir C#-Code in Windows-Apps verwenden, um festzustellen, ob auf eine Internetverbindung zugegriffen werden kann oder nicht. Es kann sein, eine Datei über das Internet in Windows Forms herunterzuladen oder hochzuladen; alternativ könnte es sein, einige Daten aus einer Datenbank in einem entfernten Gebiet zu erfassen.
In jedem Fall ist unter diesen Umständen eine Internetprüfung erforderlich.
Es gibt verschiedene Ansätze, um die Zugänglichkeit des Internets mit C# zu überprüfen. Wir werden all diese verschiedenen Techniken mit ihrer Implementierung betrachten.
Verwenden Sie GetIsNetworkAvailable()
, um die Internetverbindung in C#
zu überprüfen
Die Methode GetIsNetworkAvailable()
wird im folgenden Beispiel verwendet, um festzustellen, ob eine Verbindung zu einem Netzwerk erreichbar ist oder nicht.
Quellcode:
using System.Net.NetworkInformation;
public class CheckInternetConnecition {
static void Main(string[] args) {
if (NetworkInterface.GetIsNetworkAvailable()) {
Console.WriteLine("The internet connection is available.");
} else {
Console.WriteLine(
"The internet connection is not available. Please connect to the internet and try again.");
}
}
}
Das Programm gibt den true
-Fall aus, wenn die Internetverbindung verfügbar ist.
The internet connection is available.
Wenn der Computer keine Verbindung zum Internet herstellen kann, erzeugt der Code einen falschen
Fall.
The internet connection is not available. Please connect to the internet and try again.
Verwenden Sie InternetGetConnectedState(wininet)
, um die Internetverbindung in C#
zu überprüfen
Die wininet
-Anwendungsprogrammierschnittstelle (API) kann feststellen, ob die lokale Maschine über eine funktionsfähige Internetverbindung verfügt.
Dazu wird der Namespace System.Runtime.InteropServices
verwendet und mit dem Tool DllImport
die Datei wininet.dll
importiert.
Erstellen Sie danach eine boolesche Variable mit extern static
und einer Funktion namens InternetGetConnectedState
. Diese Funktion sollte zwei Parameter haben: description
und reservedValue
.
Als nächstes müssen Sie eine Methode schreiben, die einen booleschen Wert zurückgibt und den Namen IsInternetAvailable
verwendet. Diese Methode verwendet die gerade besprochene Funktion, die den Internetstatus des lokalen Systems zurückgibt.
Quellcode:
using System.Runtime.InteropServices;
public class PingIP {
[DllImport("wininet.dll")]
private extern static bool InternetGetConnectedState(out int desc, int resValue);
public static bool IsInternetAvailable() {
int desc;
return InternetGetConnectedState(out desc, 0);
}
static void Main(string[] args) {
if (IsInternetAvailable()) {
Console.WriteLine("The internet connection is available.");
} else {
Console.WriteLine(
"The internet connection is not available. Please connect to the internet and try again.");
};
}
}
Das Programm gibt den true
-Fall aus, wenn die Internetverbindung verfügbar ist.
The internet connection is available.
Wenn der Computer keine Verbindung zum Internet herstellen kann, erzeugt der Code einen falschen
Fall.
The internet connection is not available. Please connect to the internet and try again.
Pingen Sie eine IP-Adresse, um die Internetverbindung in C#
zu überprüfen
Ping
ist eine Klasse, die Anwendungen verwenden können, um festzustellen, ob auf eine entfernte Maschine zugegriffen werden kann oder nicht. Seine Fähigkeit, einen entfernten Host effektiv zu erreichen, hängt etwas von der Topologie des Netzwerks ab.
Der Hostname oder die Adresse und ein Timeout-Wert werden an die Methode Send()
der Klasse Ping
gesendet. Das Senden einer Nachricht führt dazu, dass ein PingReply
-Objekt zurückgegeben wird, wenn die Nachricht erfolgreich empfangen wurde.
Wenn ein ICMP-Echo-Request gesendet und eine zufriedenstellende Antwort empfangen wird, wird der Status
-Wert auf Success
gesetzt.
Quellcode:
using System.Net.NetworkInformation;
public class PingIP {
static void Main(string[] args) {
Ping myPing = new Ping();
PingReply reply = myPing.Send("192.168.10.16", 1000);
if (reply.Status == IPStatus.Success) {
Console.WriteLine("The internet connection is available.");
} else {
Console.WriteLine(
"The internet connection is not available. Please connect to the internet and try again.");
}
}
}
Das Programm gibt den true
-Fall aus, wenn die Internetverbindung verfügbar ist.
The internet connection is available.
Wenn der Computer keine Verbindung zum Internet herstellen kann, erzeugt der Code einen falschen
Fall.
The internet connection is not available. Please connect to the internet and try again.
I'm a Flutter application developer with 1 year of professional experience in the field. I've created applications for both, android and iOS using AWS and Firebase, as the backend. I've written articles relating to the theoretical and problem-solving aspects of C, C++, and C#. I'm currently enrolled in an undergraduate program for Information Technology.
LinkedIn