当前位置: 首页 > 编程语言 > C#

获取一台机器上的所有IP地址

时间:2023-04-11 02:24:23 C#

获取一台机器上的所有IP地址我需要将一个WCF服务绑定到一个主IP地址,并返回一个完整的IP地址列表。使用System.Net;字符串myHostName=Dns.GetHostName().ToString();字符串ipAddress=Dns.Resolve(HostName).AddressList[0].ToString();这就是我现在用来获取主要IP地址的方法,但我不知道如何让其余的返回它们。如果我将WCF服务绑定到localhost:8000,它会暴露在主服务器上吗?我认为这个例子可以帮助你。//获取主机名StringstrHostName=Dns.GetHostName();//通过名称查找主机IPHostEntryiphostentry=Dns.GetHostByName(strHostName);//枚举IP地址foreach(IPAddressipaddressiniphostentry.AddressList){...IP地址(以及网络接口,可以是虚拟的或物理的)。DNS变体在网络上工作,但是一个DNS条目可以有多个IP地址,一个IP地址可以有多个DNS条目。更重要的是,地址根本不需要绑定到DNS条目。对于本地机器,试试这个:-foreach(NetworkInterfacenetInterfaceinNetworkInterface.GetAllNetworkInterfaces()){Console.WriteLine("Name:"+netInterface.Name);Console.WriteLine("描述:"+netInterface.Description);安慰。WriteLine("地址:");IPInterfacePropertiesipProps=netInterface.GetIPProperties();foreach(UnicastIPAddressInformationaddrinipProps.UnicastAddresses){Console.WriteLine(""+addr.Address.ToString());}Console.WriteLine("");为什么不绑定到0.0.0.0?这样你就可以监听所有应该绑定到0.0.0.0:8000的ip,这将在所有可用的ip地址上公开它,并且仅在用户/管理员请求时绑定到特定的ip地址。IPAddress[]localIPs=Dns.GetHostAddresses(Dns.GetHostName());我认为OP正在询问如何获取本地NIC上的所有地址,而不仅仅是DNS已知的地址。他所说的主要地址可能是指适配器属性中“使用以下IP地址”下的主要地址,“其余”可能是指高级>(其他)IP地址中列出的地址。DNS不一定知道这些。以上就是C#学习教程:获取本机所有IP地址共享的所有内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:

最新推荐
猜你喜欢