【问题标题】:Getting computers name using c#使用 c# 获取计算机名称
【发布时间】:2010-07-12 10:11:44
【问题描述】:

我正在将 cs 文件中的这段代码用于 asp.net 页面,以从登录用户那里获取 ip 地址:

cmd.Parameters.AddWithValue("@ip",System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]);

我也想知道他的计算机名。我该怎么做?

【问题讨论】:

    标签: asp.net hostname


    【解决方案1】:

    这不一定是可能的。

    您可以尝试从 IP 地址反向查找名称,使用类似

    private string[] GetHostnamesForIpAddress(string ipAddress)
    {
       var hostIp= IPAddress.Parse(ipAddress);
       IPHostEntry hostInfo = Dns.GetHostByAddress(hostIp);
    
       return hostInfo.Aliases;
    }
    

    在本地网络上(您的客户端对您来说是本地的,例如在公司网络上),这可能没问题,只要所有客户端在 DNS 中都有反向 ip 映射。

    在互联网上,它对大多数客户来说不太可能奏效。您只有 IP 地址可以继续,通常这些不会设置反向 DNS 映射。事实上,很多机器都在代理和 NAT 网关后面,并且只有私有的、不可路由的 IP 地址,您不可能对其进行反向查找。

    【讨论】:

    • 尊敬的 Levine 先生,感谢您的精彩解释 :D ... 一切顺利!
    猜你喜欢
    • 1970-01-01
    • 2018-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-03
    • 1970-01-01
    相关资源
    最近更新 更多