【发布时间】:2020-02-04 13:11:35
【问题描述】:
我只想获取本地IP地址而不使用dns.getHostName方法
private string GetIpAddress(){
if(Regex.IsMatch(Dns.GetHostName(), @"^\d")){
throw new Exception("Begin with Alphabet in HostName")
}
IPHostEntry ipEntry = Dns.GetHostEntry(Dns.GetHostName());
foreach(IPAddress address in ipEntry.AddressList){
if(address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork){
return address.Tostring();
}
}
}
在某些用户系统中,主机名(计算机名称)必须由数字和字母组成。但是现在一些用户系统允许主机名只能有数字。
我的客户端程序使用 getHostName() 方法获取本地 ip。 但是当主机名只有数字时,getHostName() 无法获取主机名。
所以我只是想另一种方法来获取本地 IP 地址。
请帮帮我。
【问题讨论】:
-
如果以数字开头会出现什么错误?
标签: c# numbers localhost ip hostname