En C#:Obtenir l'adresse IP-
IPHostEntry IPHost = Dns.GetHostEntry(Dns.GetHostName());
for (int i = 0; i < IPHost.AddressList.Length; i++)
{
textBox1.AppendText("My IP address is: "
+ IPHost.AddressList[i].ToString() + "\r\n");
}
Dans ce code, la variable IPHostEntry
contient toutes les adresses IP de l'ordinateur. Maintenant, autant que je sache, Windows Vista renvoie un certain nombre d'adresses IP certaines en hexadécimal, d'autres en notation décimale et ainsi de suite.
Le problème est que la notation décimale que l'on souhaite changer son emplacement dans la variable IPHostEntry
: Au départ, il a été produit dans le dernier emplacement et ainsi pourrait être accessible avec le code:
string ipText = IPHost.AddressList[IPHost.AddressList.Length - 1].ToString();
Cependant après avoir modifié la adresse IP de l'ordinateur, il apparaît maintenant dans la 2ème dernière position, et doit donc être consulté en utilisant le code:
string ipText = IPHost.AddressList[IPHost.AddressList.Length - 2].ToString();
Yat-il un code qui récupère les adresses IP en notation décimale quel que soit son emplacement dans la variable IPHostEntry
??
Je crains que vous ne restiez confus à moins que vous ne vous rendiez compte de ce qui rend l'adresse IP que vous recherchez plus appropriée à vos fins que toutes les autres. S'appuyer sur des commandes magiques et non documentées dans les valeurs de retour est une mauvaise pratique. –
De quelles adresses IP recherchez-vous? Tous? –