J'ai besoin de savoir mon adresse IP locale (c'est à dire pas l'adresse de bouclage) à partir d'un Windows 8 WinRT/Metro app. Il ya plusieurs raisons que j'ai besoin de cela. Le plus simple est que dans l'INTERFACE utilisateur de l'application que je voudrais montrer un peu de texte comme "Votre réseau local adresse IP est: [IP interrogées à partir d'un code]".
Nous utilisons aussi l'adresse pour avoir un peu de réseau de communications. Ces comms sont parfaitement valables, parce que tout cela fonctionne si je regarde l'adresse IP dans le Panneau de configuration, puis coder en dur dans l'application. Demander à l'utilisateur dans une boîte de dialogue pour aller chercher à l'adresse et entrer manuellement c'est quelque chose que j'ai vraiment, vraiment à éviter.
Je pense que ce ne serait pas une tâche complexe pour obtenir l'adresse de la programmation, mais mon moteur de recherche et StackOverflow compétences sont à venir vide.
À ce stade, je commence à envisager de faire une diffusion UDP/écouter en boucle entendre ma propre demande et de l'extrait de l'adresse, mais qui semble vraiment comme un hackey bidouille. Est-il une API quelque part dans le WinRT nouveau truc qui va me faire là-bas?
Notez que j'ai dit "WinRT app. Cela signifie que le typique mécanismes d' Dns.GetHostEntry
ou NetworkInterface.GetAllInterfaces()
ne vont pas au travail.