亚洲乱色熟女一区二区三区丝袜,天堂√中文最新版在线,亚洲精品乱码久久久久久蜜桃图片,香蕉久久久久久av成人,欧美丰满熟妇bbb久久久

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

在啟用了IPV6的機(jī)器上獲取客戶端ipv4地址

admin
2021年3月10日 11:34 本文熱度 4929

從 Windows Vista 首開(kāi)默認(rèn)啟用IPV6 的先例,而在 IPv4、IPv6 兩者共存的環(huán)境下,IPv6 具有較高的優(yōu)先級(jí),因此獲取的 IP 地址就會(huì)以 IPv6 格式為主。好在為了解決這問(wèn)題,不必刻意把 IPv6 關(guān)掉。同樣的問(wèn)題是Host 文件里對(duì)localhost的解析,默認(rèn)返回的是ipv6的地址。具體的說(shuō)明可以看這篇文章Returning an IPv4 Address in an IPv6-Enabled Environment,文中也有代碼,運(yùn)行起來(lái)不符合預(yù)期,修正的代碼如下:

using System;
using System.Net;
using System.Web;

public class IPNetworking
{
    /// <summary>
    /// 取得客戶端主機(jī) IPv4 地址
    /// </summary>
    /// <returns></returns>
    public static string GetClientIPv4()
    {
        string ipv4 = String.Empty;

        foreach (IPAddress ip in Dns.GetHostAddresses(GetClientIP()))
        {
            if (ip.AddressFamily.ToString() == "InterNetwork")
            {
                ipv4 = ip.ToString();
                break;
            }
        }

        if (ipv4 != String.Empty)
        {
            return ipv4;
        }

        // 原代碼使用 Dns.GetHostName 方法取回的是 Server 端資料,非 Client 端。
        // 改為利用 Dns.GetHostEntry 方法,由獲取的 IPv6 位址反查 DNS 記錄,
        // 再逐一判斷是否屬于 IPv4 協(xié)議定,如果是轉(zhuǎn)換為 IPv4 地址。
        foreach (IPAddress ip in Dns.GetHostEntry(GetClientIP()).AddressList)
        //foreach (IPAddress ip in Dns.GetHostAddresses(Dns.GetHostName()))
        {
            if (ip.AddressFamily.ToString() == "InterNetwork")
            {
                ipv4 = ip.ToString();
                break;
            }
        }

        return ipv4;
    }

    /// <summary>
    /// 取得客戶端主機(jī)地址
    /// </summary>
    public static string GetClientIP()
    {
        if (null == HttpContext.Current.Request.ServerVariables["HTTP_VIA"])
        {
            return HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
        }
        else
        {
            return HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
        }
    }
}

IPV6取代IPV4是趨勢(shì),在沒(méi)有大規(guī)模部署IPV6,以IPV4為主的環(huán)境下以上代碼可以救急。


該文章在 2021/3/10 11:34:41 編輯過(guò)
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved