MessageBox.Show(Dns.GetHostEntry("168.242.231.43").HostName);
MessageBox.Show(Dns.GetHostByAddress("168.242.231.43").HostName);
为啥第一个弹出的是168.242.231.43,而第二个可以弹出主机名。
然后改了下
    IPAddress ip = IPAddress.Parse("168.242.231.43");
    IPHostEntry ihe = Dns.GetHostEntry(ip);
    MessageBox.Show(ihe.HostName);
依然不好用。
求,用GetHostEntry通过ip获得主机名字的准确代码

解决方案 »

  1.   

    IPHostEntry iphe = Dns.Resolve("192.168.231.43");
    Console.WriteLine(iphe.HostName);
      

  2.   

    我要GetHostEntry方法。(受不了了),钻四牛角尖了
      

  3.   

    顶下,谁告诉我上面GetHostEntry的用法哪错了,谢谢
      

  4.   

    你的MessageBox.Show(Dns.GetHostByAddress("168.242.231.43").HostName);能显示机器名?
    我的怎么就显示了个www?
    要是只能显示自己的,别人的都不行。
    后来我用了nbstat。
    不知道还有没有别的解决方案~~~~
      

  5.   

    可以显示机器名字,那个IP是我杜撰的,你可以找自己知道名字的IP地址测试.
    Dns.GetHostByAddress会被提示为已经过期的方法,提示说请使用GetHostEntry.但是我不知道如何让GetHostEntry来解决这个问题.谁用过,帮帮忙
      

  6.   

    GetHostEntry 是.net 4.0的,据ms内部人员说是有bug的,还是用过期方法吧..不过GetHostByAddress方法如果该IP的对应主机不在的话,会引发异常,导致扫描效率非常低啊.