从运行Citrix XenApp的主机获取IP v4地址

本文关键字:获取 IP v4 地址 主机 运行 Citrix XenApp | 更新日期: 2023-09-27 18:20:43

我正在编写一个C#应用程序,它将在citrix XenApp会话中运行。会话是从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);
        }

从运行Citrix XenApp的主机获取IP v4地址

试试这个:

IPAddress[] local = Dns.GetHostAddresses(Dns.GetHostName());
foreach (IPAddress ip in local)
{
    if (ip.AddressFamily != System.Net.Sockets.AddressFamily.InterNetworkV6)
        lblClientName.Text += ip.ToString();
}