Maison >développement back-end >C++ >Comment puis-je obtenir de manière fiable mon adresse IPv4 locale en C# ?

Comment puis-je obtenir de manière fiable mon adresse IPv4 locale en C# ?

DDD
DDDoriginal
2025-01-24 19:56:10998parcourir

How Can I Reliably Get My Local IPv4 Address in C#?

Récupération fiable d'adresses IPv4 locales en C#

Obtenir votre adresse IP locale est une tâche réseau courante en C#. Bien que des méthodes simples existent, elles renvoient souvent plusieurs adresses IP, certaines sans rapport avec votre réseau actuel. Cet article détaille une approche plus robuste.

Pourquoi les méthodes existantes ne suffisent pas

De nombreux exemples utilisent des requêtes DNS pour obtenir la liste des noms d'hôte et des adresses IP. Cela fonctionne souvent, mais peut échouer dans des configurations réseau spécifiques.

Assurer la connectivité réseau

Avant de récupérer l'IP, il faut confirmer une connexion réseau. La solution améliorée utilise NetworkInterface.GetIsNetworkAvailable() pour cette vérification cruciale. Ce n'est que si cela revient true que nous procédons.

Une approche plus ciblée

Au lieu de s'appuyer sur la résolution du nom d'hôte, la méthode améliorée parcourt directement les interfaces réseau. Il recherche spécifiquement les adresses IPv4 (InterNetwork famille d'adresses) dans le AddressList de chaque interface. Cela cible directement l'IP souhaitée, évitant toute ambiguïté.

Gestion gracieuse des erreurs

Le code inclut une gestion complète des exceptions. Si aucune adresse IPv4 n'est trouvée, une exception claire est levée, permettant une gestion appropriée des erreurs dans le code appelant. Cela évite les plantages inattendus.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn