簡體   English   中英

獲取服務器而不是機器的IPv4地址

[英]Getting IPv4 address of server, not machine

我已經編寫了以下代碼來獲取機器的IPv4地址。 當我們在服務器上部署此代碼時,此代碼為我提供了服務器的IP地址,但沒有提供運行哪個應用程序的機器IP?

public string getIpAddress()
{
    try
    {
        string myHost = System.Net.Dns.GetHostName();
        string myIP = null;

        for (int i = 0; i <= System.Net.Dns.GetHostEntry(myHost).AddressList.Length - 1; i++)
        {
            if (System.Net.Dns.GetHostEntry(myHost).AddressList[i].IsIPv6LinkLocal == false)
            {
                myIP = System.Net.Dns.GetHostEntry(myHost).AddressList[i].ToString();
            }
        }
        return myIP;            
    }
    catch (Exception)
    {            
        throw;
    }
}

由於此代碼在服務器端運行,因此這是預期的行為。

但是,如果要獲取客戶端IP地址,仍然可以使用Request對象來完成。 (有關更多詳細信息,請參閱此帖子 ,或在Google上查看示例)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM