首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dns.gethostbyname()

dns.gethostbyname()
EN

Stack Overflow用户
提问于 2011-09-24 01:38:26
回答 1查看 5.6K关注 0票数 4

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

代码语言:javascript
复制
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;
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-24 03:09:57

他们试图让您停止假设IP地址是点分十进制的IPv4地址。他们只是不能让IPv6离开地面,这是必要的。几个月前就完全没有空闲地址了。

你可以得到IPv4地址,你必须显式地把它找出来:

代码语言:javascript
复制
        foreach (System.Net.IPAddress myipadd in myiphost.AddressList) {
            if (myipadd.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork) {
                return myipadd.ToString();

            }
        }
        throw new WhatTheHeckException();
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7532842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档