如何在C#.NET中从本地IP解析主机名?
我正在尝试列出网络上当前联机的计算机名称。我只获得了“获取活动IP”,但无法获取这些IP的计算机名。有什么想法吗?从IP地址,您可以使用该方法。如果您已经有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
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