Connaître l'adresse IP de votre serveur est crucial pour de nombreuses applications côté serveur. C # offre des moyens pratiques d'obtenir ces informations à l'aide de la classe Dns
et des services Web externes.
Voici un exemple de code pour obtenir l'adresse IP locale:
<code class="language-csharp">IPHostEntry host; string localIP = "?"; host = Dns.GetHostEntry(Dns.GetHostName()); foreach (IPAddress ip in host.AddressList) { if (ip.AddressFamily == AddressFamily.InterNetwork) { localIP = ip.ToString(); break; } } return localIP;</code>
Cet extrait de code récupère le nom d'hôte à l'aide de Dns.GetHostName()
puis itère via les adresses IP associées. Il sélectionne spécifiquement l'adresse IPv4 (AddressFamily.InterNetwork
) et le renvoie.
Alternativement, pour obtenir l'adresse IP externe du serveur (utile lorsque vous derrière un NAT):
<code class="language-csharp">string externalIP = ""; using (var client = new WebClient()) { externalIP = client.DownloadString("http://icanhazip.com").TrimEnd(); } return externalIP;</code>
Cette approche utilise le service Web icanhazip.com
qui renvoie l'adresse IP publique comme texte brut.
Les deux méthodes fournissent des moyens fiables d'accéder à l'adresse IP de votre serveur dans une application C #. La deuxième méthode est particulièrement utile pour les scénarios où les IP internes et externes diffèrent, tels que les serveurs derrière la traduction d'adresses réseau (NAT).
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!