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 に答える