Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# dns.gethostbyname()_C#_.net_Dns_Ipv4 - Fatal编程技术网

C# dns.gethostbyname()

C# dns.gethostbyname(),c#,.net,dns,ipv4,C#,.net,Dns,Ipv4,我一直在网上搜索有关Dns gethostbyname更改为gethostentry的信息,并相应地修改了代码,但为什么仍然不显示正常的ipv4地址? 这是我的代码: string GetHostIP() { String myHostName = System.Net.Dns.GetHostName(); // Find host by name System.Net.IPHostEntry myiphost = Syste

我一直在网上搜索有关Dns gethostbyname更改为gethostentry的信息,并相应地修改了代码,但为什么仍然不显示正常的ipv4地址? 这是我的代码:

string GetHostIP()
    {      
        String myHostName = System.Net.Dns.GetHostName();

        // Find host by name
        System.Net.IPHostEntry myiphost = System.Net.Dns.GetHostEntry(myHostName);

        String ipstring = "";
        foreach(System.Net.IPAddress myipadd in myiphost.AddressList)
        {
            ipstring = myipadd.ToString();
            return ipstring;
        }
        return ipstring;
    }

他们试图让您停止假设IP地址是虚线十进制IPv4地址。他们就是无法实现IPv6,这是必要的。几个月前完全没有免费地址了

您可以获取IPv4地址,但必须明确查找:

        foreach (System.Net.IPAddress myipadd in myiphost.AddressList) {
            if (myipadd.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) {
                return myipadd.ToString();

            }
        }
        throw new WhatTheHeckException();

它显示了这样的内容:fe80::5efe:192.168.0.19%10,但我现在解决了它,多亏了Hans Passant。