从 No-IP DNS A 解析 IP

Resolve IP from No-IP DNS A

我需要从我的 No-IP 主机名解析 IP,我设置它是因为我在路由器后面,而这个路由器没有静态 public IP。主机名设置为 DNS A 记录。 我需要IP从一台电脑反向连接到我自己的电脑。

我已经尝试过:

IPAddress address = Dns.GetHostAddresses("****.ddns.net")[0];

但这只会将“127.0.0.1”写入"address"。

有人可以帮助我吗?

我认为,问题在于 "****.ddns.net" 不是可解析的 IP 地址。在我的示例中,我使用 "heise.de" 并且它工作正常。

GetHostAddresses 的作用是询问您计算机的名称服务是否知道该具体名称。而如果它不知道自己,它会询问它的parent,等等。如果有人知道这个名字,它会把那个 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 系统设置有问题。