Im Internet gibt es mehrere Stellen, die zeigen, wie man eine IP-Adresse erhält. Und viele von ihnen sehen so aus wie dieses Beispiel:
String strHostName = string.Empty;
// Getting Ip address of local machine...
// First get the host name of local machine.
strHostName = Dns.GetHostName();
Console.WriteLine("Local Machine's Host Name: " + strHostName);
// Then using host name, get the IP address list..
IPHostEntry ipEntry = Dns.GetHostEntry(strHostName);
IPAddress[] addr = ipEntry.AddressList;
for (int i = 0; i < addr.Length; i++)
{
Console.WriteLine("IP Address {0}: {1} ", i, addr[i].ToString());
}
Console.ReadLine();
Bei diesem Beispiel erhalte ich mehrere IP-Adressen, aber ich bin nur an derjenigen interessiert, die der Router dem Computer zuweist, auf dem das Programm läuft: die IP, die ich jemandem geben würde, wenn er z. B. auf einen freigegebenen Ordner auf meinem Computer zugreifen möchte.
Wenn ich nicht an ein Netzwerk angeschlossen bin und direkt über ein Modem ohne Router mit dem Internet verbunden bin, möchte ich eine Fehlermeldung erhalten. Wie kann ich sehen, wenn mein Computer mit einem Netzwerk mit C# verbunden ist und wenn es dann die LAN-IP-Adresse zu erhalten.