65.9K
CodeProject is changing. Read more.
Home

Find IP address in a Metro app (Windows 8)

starIconstarIconstarIconstarIconemptyStarIcon

4.00/5 (1 vote)

Mar 18, 2013

CPOL
viewsIcon

12741

How to find IP address of machine in metro App(Windows 8)

Introduction

How to find the IP address of a machine in a Metro app (Windows 8).

Using the code

DNS is not supported by Metro applications. So to find the IP address in a Metro app implement the following code:

  • Import the Windows.Networking.Connectivity namespace.

NetworkInformation.GetInternetConnectionProfile retrieves the connection profile associated with the internet connection currently used by the local machine. NetworkInformation.GetHostNames retrieves a list of host names.

 var icp = NetworkInformation.GetInternetConnectionProfile();

if (icp != null && icp.NetworkAdapter != null)
{
    var hostname =
        NetworkInformation.GetHostNames()
            .SingleOrDefault(
                hn =>
                hn.IPInformation != null && hn.IPInformation.NetworkAdapter != null
                && hn.IPInformation.NetworkAdapter.NetworkAdapterId
                == icp.NetworkAdapter.NetworkAdapterId);

    if (hostname != null)
    {
        // the ip address
        txtKeyWord.Text = hostname.CanonicalName;
    }

Hostname has various properties such as Canonical Name, Display Name and Raw Name, but they all seem to return the same string. Here txtKeyWord will give the IP address of the machine (localhost).