从局域网中的主机名获取IP地址我找到了很多关于如何通过IP地址获取主机名的例子,如何获取局域网中主机的IP地址?试试这个publicstaticvoidDoGetHostAddresses(stringhostname){IPAddress[]ips;ips=Dns.GetHostAddresses(主机名);Console.WriteLine("GetHostAddresses({0})返回:",hostname);foreach(IPAddressipinips){Console.WriteLine("{0}",ip);我从http://msdn.microsoft.com/en-us/library/system.net.dns.gethostaddresses.aspx得到这个如果你想从你的计算机获取IP地址(V4),这是简单的代码。使用System.Net将这个库导入到你的类中;在您的代码中初始化并声明这些变量。它们包含主机名、IP地址和主机地址数组:stringHostName=Dns.GetHostName().ToString();IPAddress[]IpInHostAddress=Dns.GetHostAddresses(主机名);字符串IPV4Address=IpInHostAddress[1].ToString();//默认IPV4地址。这可能是您需要检索的IP地址stringIPV6Address=IpInHostAddress[0].ToString();//默认链接本地IPv6地址打开命令提示符,只需键入“ipconfig”并按回车键。完成后,您可以检查字符串IPV4Address是否与我们计算机中的IPv4Address匹配。只要知道机器的名称,就可以使用Dns.GetHostAddresses。您的网络DNS应该将其识别为LAN计算机并返回正确的IP。使用Dns.GetHostEntry(hostname)而不是过时的Dns.GetHostAddresses。这是一个很好的例子来说明它是如何做到的:http://www.codeproject.com/Articles/854/How-To-Get-IP-Address-Of-A-Machine您可以使用Windows管理类来执行此操作,它也适用于同一域中的远程计算机(但我不知道他们是否需要启用或禁用任何安全或策略设置才能正常工作)。例如:publicListGetAdapterList(){ManagementClassmgmt=newManagementClass("Win32_NetworkAdapterConfiguration");ManagementObjectCollectionmoc=mgmt.GetInstances();列表适配器=newList();//搜索具有IP地址的适配器foreach(ManagementObjectmobinmoc){string[]addresses=(string[])mob.Properties["IPAddress"].Value;如果(空==地址){继续;}NetworkAdapterna=newNetworkAdapter();na.Description=(string)mob.Properties["Description"].Value;na.MacAddress=(string)mob.Properties["MACAddress"].Value;na.IPAddresses=地址;适配器。添加(na);}返回适配器;要访问远程计算机,请像这样创建一个管理类:ManagementClassmgmt=newManagementClass(\\servername\root\cimv2:Win32_NetworkAdapterConfiguration);此方法可能会获得比在DNS中注册更多的IP。以上就是C#学习教程:从局域网中的主机名获取共享的IP地址。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
