【问题标题】:Resolve IP from No-IP DNS A从 No-IP DNS A 解析 IP
【发布时间】:2016-03-03 08:17:34
【问题描述】:
我需要从我的No-IP 主机名解析 IP,这是我设置的,因为我在路由器后面,并且该路由器没有静态公共 IP。主机名设置为 DNS A 记录。
我需要 IP 才能从电脑反向连接到我自己的电脑。
我已经试过了:
IPAddress address = Dns.GetHostAddresses("****.ddns.net")[0];
但这只会将“127.0.0.1”写入“地址”。
有人可以帮我吗?
【问题讨论】:
标签:
c#
dns
resolve
dynamic-ip
noip
【解决方案1】:
我认为,问题在于,"****.ddns.net" 不是可解析的 IP 地址。在我的示例中,我使用"heise.de",它工作正常。
GetHostAddresses 所做的是询问您计算机的名称服务是否知道该具体名称。如果它不知道自己,它会问它的父母,依此类推。如果有人知道这个名字,它会给你那个IP。
但要让它起作用,你必须要求一个具体的可解析名称。
此外,您应该检查返回的列表是否为空:
System.Net.IPAddress[] adresses = System.Net.Dns.GetHostAddresses("heise.de");
if (adresses.Length > 0)
{
System.Net.IPAddress address = System.Net.Dns.GetHostAddresses("heise.de")[0];
}
看起来您正在使用 DynDNS,因此您要查找的名称应该是众所周知的。如果你没有得到正确的 ip,那么你的 dns 系统设置有问题。