Maison >développement back-end >C++ >Comment puis-je récupérer efficacement l'adresse IP de mon serveur ?
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 :
<code class="language-csharp">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();</code>
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!