BeberEberlue
Messages postés6Date d'inscriptionmardi 18 janvier 2011StatutMembreDernière intervention14 février 2012
-
14 févr. 2012 à 11:44
BeberEberlue
Messages postés6Date d'inscriptionmardi 18 janvier 2011StatutMembreDernière intervention14 février 2012
-
14 févr. 2012 à 13:01
Bonjour à tous et à toutes !
Comme dit dans le titre, lorsque j'essaye d'obtenir l'adresse IP d'un ordinateur, j'obtiens le message suivant lors du fonctionnement :
"la référence d'un objet n'est pas définie à une instance d'un objet".
Avant d'aller plus loin, je tiens à préciser que je n'obtiens pas ce message sur mon ordinateur, mais sur les autres. Ces derniers ont bien sûr le .Net Framework 4 Client Profile, avec lequel je développe.
J'ai réussi à trouver la cause
NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces(); // obtention de toutes les adresses IP
NetworkInterface wifi interfaces.SingleOrDefault(i> i.Name == "Wireless Network Connection"); // adresse du Wifi
NetworkInterface lan interfaces.SingleOrDefault(i> i.Name == "Local Area Connection"); // addresse du LAN
// Wifi activé && LAN désactivé
if (wifi.OperationalStatus OperationalStatus.Up && lan.OperationalStatus OperationalStatus.Down) // ERREUR
{
var ip_address = wifi.GetIPProperties().UnicastAddresses[1].Address;
MessageBox.Show(language.ServerIP + ip_address.ToString());
}
// Wifi désactivé && LAN activé
else if (wifi.OperationalStatus OperationalStatus.Down && lan.OperationalStatus OperationalStatus.Up) // ERREUR
{
var ip_address = lan.GetIPProperties().UnicastAddresses[1].Address;
MessageBox.Show(language.ServerIP + ip_address.ToString());
}
// Wifi activé && LAN activé
else if (wifi.OperationalStatus OperationalStatus.Up && lan.OperationalStatus OperationalStatus.Up) // ERREUR
{
var ip_address = lan.GetIPProperties().UnicastAddresses[1].Address;
MessageBox.Show(language.ServerIP + ip_address.ToString());
}
mais je ne sais toujours pas pourquoi ça fait planter l'appli :(
J'en appelle donc à votre savoir !
Par avance, merci !
A voir également:
Obtention adresse IP - la référence d'un objet n'est pas définie à une instance
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 14 févr. 2012 à 12:45
Bonjour,
NetworkInterface wifi interfaces.SingleOrDefault(i> i.Name == "Wireless Network Connection"); // adresse du Wifi
NetworkInterface lan interfaces.SingleOrDefault(i> i.Name == "Local Area Connection"); // addresse du LAN
Puis
if (wifi.OperationalStatus OperationalStatus.Up && lan.OperationalStatus OperationalStatus.Down) // ERREUR
Et si tu n'as pas de carte WIFI sous ce nom, wifi est null, et donc ...
A toi de contrôler cela.
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list ---