Heim > Backend-Entwicklung > C++ > Wie kann ich die interne und externe IP -Adresse eines Servers in C#effizient erhalten?

Wie kann ich die interne und externe IP -Adresse eines Servers in C#effizient erhalten?

DDD
Freigeben: 2025-01-26 06:06:08
Original
447 Leute haben es durchsucht

How to Efficiently Get a Server's Internal and External IP Address in C#?

In der C#Medium -Effizienz erhalten Sie die interne und externe IP -Adresse des Servers

Während des Netzwerkverwaltungs- oder Anwendungsdebuggens ist häufig die IP -Adresse des Servers erforderlich. Dieser Artikel zielt darauf ab, die Grammatik zu klären und eine Optimierungsmethode bereitzustellen, um diese Informationen abzurufen.

Holen Sie sich die Grammatik der externen IP -Adresse

Um die externe IP -Adresse des Computers (im Internet sichtbar) zu bestimmen, verwenden Sie bitte den folgenden Code:

<code class="language-csharp">string externalIP = new WebClient().DownloadString("https://ipv4.icanhazip.com/");</code>
Nach dem Login kopieren

Dieser Code verwendet den "icanHazip" -Dienst, um die öffentliche IP -Adresse des Servers zu erhalten.

Holen Sie sich die Grammatik der internen IP -Adresse

Um die interne IP -Adresse des Servers (im lokalen Netzwerk) abzurufen, verwenden Sie bitte die folgenden Technologien:

<code class="language-csharp">string localIP = Dns.GetHostEntry(Dns.GetHostName()).AddressList.Where(ip => ip.AddressFamily == AddressFamily.InterNetwork).FirstOrDefault()?.ToString();</code>
Nach dem Login kopieren

Die IP -Adressliste, die der Iteration des Server -Hostnamens zugeordnet ist, und die der IPv4 -Adressfamilie entsprechende Adresse auszuwählen.

Analyse des vorherigen Codes

Der im Problem bereitgestellte Code ist eine effektive Methode, kann jedoch seine Lesbarkeit und Effizienz verbessern. Die geänderte Version unten enthält folgende Verbesserungen:

<code class="language-csharp">string localIP = null;
var host = Dns.GetHostEntry(Dns.GetHostName());
foreach (var ip in host.AddressList)
{
    if (ip.AddressFamily == AddressFamily.InterNetwork)
    {
        localIP = ip.ToString();
        break;
    }
}</code>
Nach dem Login kopieren

Diese Version verwendet eine klarere Kreislaufstruktur und verarbeitet die Situation von FirstOrDefault() zurück zu Null, um mögliche Anomalien zu vermeiden. Es wird direkt die IP -Adressliste iteriert.

Das obige ist der detaillierte Inhalt vonWie kann ich die interne und externe IP -Adresse eines Servers in C#effizient erhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage