我需要从我设置的No-IP主机名解析IP,因为我在路由器后面并且此路由器没有静态公共IP。主机名设置为DNS A记录。 我需要IP来反向从计算机连接到我自己的电脑。
我已经尝试过:
IPAddress address = Dns.GetHostAddresses("****.ddns.net")[0];
但是只将“127.0.0.1”写入“地址”。
有人可以帮助我吗?
答案 0 :(得分: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系统设置有问题。