我试图获取本地网络的IP地址。为此,我使用Google搜索并获取了几个样本,但这些类和方法不支持WindowsStore应用程序,下面是我的一个链接How do I get the Local Network IP address of a computer programmatically? (C#)如何获取WindowsStore Apps的本地网络IP地址
如何在WindowsStore应用程序中执行此操作? 有什么建议吗?
我试图获取本地网络的IP地址。为此,我使用Google搜索并获取了几个样本,但这些类和方法不支持WindowsStore应用程序,下面是我的一个链接How do I get the Local Network IP address of a computer programmatically? (C#)如何获取WindowsStore Apps的本地网络IP地址
如何在WindowsStore应用程序中执行此操作? 有什么建议吗?
Dns.GetHostAddresses仍然存在4.5
http://msdn.microsoft.com/en-us/library/system.net.dns.gethostaddresses.aspx
谢谢Marq,但我正在尝试这个Windows应用商店。需要添加更多的东西来支持这? – Lokesh
我在同一点stucked当我最近开始玩弄VS2013和我的第一个商店应用。我没有太多的C#经验,但我希望我发现的VB也可以帮助你。 没错,带有“System.Net.DNS”的示例不适用于Store-Apps。但经过一些研究后,我发现类“Windows.Networking.Connectivity.NetworkInformation.GetHostNames”可以用来获取主机名,也可以获取IPv4和v6附加信息。 下面的代码工作正常在Visual Basic中
HostNamesObj = Windows.Networking.Connectivity.NetworkInformation.GetHostNames
For Each HostName In HostNamesObj
If HostName.Type = 0 Then
ComputerNames= HostName.ToString
End If
If HostName.Type = 1 Then
IPv4_Output = HostName.ToString
End If
If HostName.Type = 2 Then
IPv6_Output = HostName.ToString
End If
Next
如果你成功了这种转换为C#,我想对你的反馈非常高兴,因为这是我strugling现在的点。我刚刚意识到C#与VB有许多共同之处,但它对变量的类型声明更加敏感! 所以: 祝你好运,RoadrunnerLI
我相信OP已经拥有他所需要的答案,但对于其他人,根据断走鹃代码:
public HostName getCurrentIPAddress()
{
IReadOnlyList<HostName> hosts = NetworkInformation.GetHostNames();
foreach (HostName aName in hosts)
{
if (aName.Type == HostNameType.Ipv4)
{
return aName;
}
}
return null;
}
这得到的第一个IP地址(这是有可能的只有一个,至少在我的电脑上)并将其作为主机名返回。要将它看成一个字符串,您可以随时拨打电话hostname.DisplayName
您认为哪些类和方法在.NET 4.5中不受支持?或者你是否真的在谈论Windows应用商店? –
是的..我在WindowsStore应用程序中尝试过。 – Lokesh
那和.NET 4.5完全不同,它是以前桌面.NET版本的超集。请编辑你的问题,并在将来更小心。 –