如何在C#.NET中从本地IP解析主机名?

如何在C#.NET中从本地IP解析主机名?,c#,.net,C#,.net,我正在尝试列出网络上当前联机的计算机名称。我只获得了“获取活动IP”,但无法获取这些IP的计算机名。有什么想法吗?从IP地址,您可以使用该方法。如果您已经有IP地址列表,您可以通过以下内容找到名称: System.Net.Dns.GetHostEntry("youripaddress").HostName; 您可以使用来尝试解析名称,因为并非每个IP都有名称 using System.Net; ... public string GetHostName(string ipAddr

我正在尝试列出网络上当前联机的计算机名称。我只获得了“获取活动IP”,但无法获取这些IP的计算机名。有什么想法吗?

从IP地址,您可以使用该方法。

如果您已经有IP地址列表,您可以通过以下内容找到名称:

      System.Net.Dns.GetHostEntry("youripaddress").HostName;
您可以使用来尝试解析名称,因为并非每个IP都有名称

using System.Net;
...

public string GetHostName(string ipAddress)
{
    try
    {
        IPHostEntry entry = Dns.GetHostEntry(ipAddress);
        if (entry != null)
        {
           return entry.HostName;
        }
    }
    catch (SocketException ex)
    {
       //unknown host or
       //not every IP has a name
       //log exception (manage it)
    }

    return null;
}

根据您所谈论的网络,下面的答案对您不起作用。请指定您正在谈论的环境,以及所涉及的计算机是否具有公共IP。此外,OP询问的是“COMPUTERNAME”,而不是主机名,对吗?我正在Windows 7上工作,仅使用本地IP(192.168…)正如Astyanax指出的,您最有可能谈论的是计算机名而不是主机名。SocketException解决方案?我得到了
SocketException