我需要从我的无IP主机名解析IP,因为我在路由器后面,而这个路由器没有静态公共IP,所以我设置了该主机名。主机名设置为DNS a记录。我需要IP从电脑反向连接到我自己的电脑
我已经试过了:
IPAddress address = Dns.GetHostAddresses("****.ddns.net")[0];
但这只会将"127.0.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系统的设置有问题。