Maison > développement back-end > C++ > Comment puis-je récupérer efficacement l'adresse IP de mon serveur ?

Comment puis-je récupérer efficacement l'adresse IP de mon serveur ?

Linda Hamilton
Libérer: 2025-01-26 06:12:08
original
854 Les gens l'ont consulté

How Can I Efficiently Retrieve My Server's IP Address?

Accéder à l'adresse IP de votre serveur : une approche simplifiée

Les programmeurs doivent fréquemment déterminer l'adresse IP du serveur exécutant leur application. Bien que les méthodes existantes fonctionnent, une solution plus efficace et plus concise existe.

Une méthode courante utilise Dns.GetHostEntry, récupère l'entrée de l'hôte, puis parcourt sa liste d'adresses pour trouver une adresse IPv4. C'est moins efficace qu'une approche directe utilisant la classe Socket.

Voici une méthode supérieure :

using System.Net;

// ...

// Create a UDP socket connected to the local host
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);

// Connect to localhost (any IP, port 0)
socket.Connect(new IPEndPoint(IPAddress.Any, 0));

// Extract the IP address from the local endpoint
localIP = socket.LocalEndPoint.ToString().Split(':')[0];

// Close the socket
socket.Close();
Copier après la connexion

Ce code crée un socket UDP et le connecte à l'hôte local. La propriété LocalEndPoint fournit directement l'adresse IP et le port locaux. Le fractionnement de la chaîne au niveau des deux points (':') isole l'adresse IP. Cela évite la surcharge de la méthode Dns.GetHostEntry et de son itération ultérieure, ce qui donne une solution plus efficace et plus lisible.

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal