0

我正在编写一个将在 citrix XenApp 会话中运行的 C# 应用程序。会话从 Windows 主机启动。我正在尝试获取主机的 IP v4 地址。下面的代码正确获取主机名(第一行)。如何获取 IP 地址?我试过这个:

        string host_name = Environment.ExpandEnvironmentVariables("%CLIENTNAME%");
        //string host_name = Dns.GetHostName();

        lblClientName.Text = host_name + Environment.NewLine;
        try
        {
            IPHostEntry ipEntry = Dns.GetHostEntry(host_name);

            IPAddress[] addr = ipEntry.AddressList;
            for (int i = 0; i < addr.Length; i++)
            {
                if (addr[i].ToString().Length <= 13)
                    lblClientName.Text += addr[i].ToString() + Environment.NewLine;
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.StackTrace);
        }
4

1 回答 1

0

尝试这个:

IPAddress[] local = Dns.GetHostAddresses(Dns.GetHostName());
foreach (IPAddress ip in local)
{
    if (ip.AddressFamily != System.Net.Sockets.AddressFamily.InterNetworkV6)
        lblClientName.Text += ip.ToString();
}
于 2015-11-04T17:58:16.593 回答