Lokale IP-Adresse abfragen

Ich muss meine tatsächliche lokale IP-Adresse (d. H. Nicht die Loopback-Adresse) von a kennenWindows 8 WinRT / Metro App. Es gibt mehrere Gründe, warum ich das brauche. Das Einfachste ist, dass ich in der Benutzeroberfläche der App einen Text wie "Ihre lokale Netzwerk-IP-Adresse lautet: [IP vom Code abgefragt]" anzeigen möchte.

Wir verwenden die Adresse auch für einige zusätzliche Netzwerkkommunikationen. Diese Kommunikationen sind absolut gültig, da alles funktioniert, wenn ich die IP-Adresse in der Systemsteuerung betrachte und sie dann in die App einprogrammiere. Den Benutzer in einem Dialog aufzufordern, sich die Adresse anzuschauen und sie manuell einzugeben, ist etwas, das ich wirklich, wirklich vermeiden möchte.

Ich würde denken, es wäre keine komplexe Aufgabe, die Adresse programmgesteuert abzurufen, aber meine Fähigkeiten in Bezug auf Suchmaschinen und StackOverflow sind leer.

An diesem Punkt beginne ich damit, über eine UDP-Broadcast- / Listen-Schleife nachzudenken, um meine eigene Anfrage zu hören und die Adresse daraus zu extrahieren, aber das scheint wirklich ein hackey kludge zu sein. Gibt es irgendwo in WinRT eine API, die mich dahin bringt?

Beachten Sie, dass ich sagte "WinRT App. Das bedeutet die typischen Mechanismen wieDns.GetHostEntry oderNetworkInterface.GetAllInterfaces() Ich werde nicht arbeiten.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage