最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

c# 獲得本地ip地址的三種方法

 更新時(shí)間:2020年12月18日 08:54:40   作者:波多爾斯基  
這篇文章主要介紹了c# 獲得本地ip地址的三種方法,幫助大家更好的理解和實(shí)用c#,感興趣的朋友可以了解下

網(wǎng)上有很多種方法可以獲取到本地的IP地址。一線常用的有這么些:

枚舉本地網(wǎng)卡

using System.Net.NetworkInformation;
using System.Net.Sockets;

foreach (NetworkInterface netif in NetworkInterface.GetAllNetworkInterfaces()
 .Where(a => a.SupportsMulticast)
 .Where(a => a.OperationalStatus == OperationalStatus.Up)
 .Where(a => a.NetworkInterfaceType != NetworkInterfaceType.Loopback)
 .Where(a => a.GetIPProperties().GetIPv4Properties() != null)
 .Where(a => a.GetIPProperties().UnicastAddresses.Any(ua => ua.Address.AddressFamily == AddressFamily.InterNetwork))
 .Where(a => a.GetIPProperties().UnicastAddresses.Any(ua => ua.IsDnsEligible))
)
{

 Console.WriteLine("Network Interface: {0}", netif.Name);
 IPInterfaceProperties properties = netif.GetIPProperties();
 foreach (IPAddressInformation unicast in properties.UnicastAddresses)
  Console.WriteLine("\tUniCast: {0}", unicast.Address);
}

獲得的信息比較全面,相當(dāng)于網(wǎng)卡的信息都能獲取,但是不能區(qū)分虛擬網(wǎng)卡(比如docker)。

嘗試連接一個(gè)IP地址

string localIP;
using (Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, 0))
{
 socket.Connect("8.8.8.8", 65530);
 IPEndPoint endPoint = socket.LocalEndPoint as IPEndPoint;
 localIP = endPoint.Address.ToString();
}
Console.WriteLine(localIP);

可以避免虛擬網(wǎng)卡,但是對于內(nèi)網(wǎng)地址,不一定適用,同時(shí)要求網(wǎng)絡(luò)必須在線,并且有其他服務(wù)器可以進(jìn)行連接。

借用DNS解析

using System.Net;

string sHostName = Dns.GetHostName();
IPHostEntry ipE = Dns.GetHostEntry(sHostName);
IPAddress[] IpA = ipE.AddressList;
for (int i = 0; i < IpA.Length; i++)
{
 Console.WriteLine("IP Address {0}: {1} ", i, IpA[i].ToString());
}

IPAddress還可以繼續(xù)通過篩選IPv4的方法進(jìn)行更精確的選擇,和第一種方法是類似的。操作方法非常簡潔,但是和獲得網(wǎng)卡信息一樣,不能區(qū)分虛擬網(wǎng)卡。

總結(jié)

對于有雙網(wǎng)卡的情況,往往兩個(gè)網(wǎng)卡都是有效的IPV4地址,這個(gè)時(shí)候需要使用方法2通過局域網(wǎng)或者廣域網(wǎng)內(nèi)訪問進(jìn)行區(qū)分。當(dāng)然也可以選擇更為復(fù)雜的方式:在局域網(wǎng)內(nèi)使用廣播服務(wù),然后再抓包確定獲取的網(wǎng)絡(luò)地址。

以上就是c# 獲得本地ip地址的三種方法的詳細(xì)內(nèi)容,更多關(guān)于c# 獲得本地ip地址的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C#?拼圖游戲的實(shí)戰(zhàn)(附demo)

    C#?拼圖游戲的實(shí)戰(zhàn)(附demo)

    拼圖游戲是常見的一種游戲,本文詳細(xì)的介紹了C#實(shí)現(xiàn)拼圖游戲,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • C#中如何獲取當(dāng)前目錄和上級目錄

    C#中如何獲取當(dāng)前目錄和上級目錄

    這篇文章主要介紹了C#中如何獲取當(dāng)前目錄和上級目錄問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • c#之利用API函數(shù)實(shí)現(xiàn)動(dòng)畫窗體的方法詳解

    c#之利用API函數(shù)實(shí)現(xiàn)動(dòng)畫窗體的方法詳解

    本篇文章是對c#中利用API函數(shù)實(shí)現(xiàn)動(dòng)畫窗體的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • C#中DataTable和List互轉(zhuǎn)的示例代碼

    C#中DataTable和List互轉(zhuǎn)的示例代碼

    很多場景下,我們需要將List轉(zhuǎn)換成為DataTable,本文主要介紹了C#中DataTable和List互轉(zhuǎn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • C#實(shí)現(xiàn)控制臺飛行棋小游戲

    C#實(shí)現(xiàn)控制臺飛行棋小游戲

    這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)控制臺飛行棋小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下的相關(guān)資料
    2021-07-07
  • C#中使用Socket獲取網(wǎng)頁源代碼的代碼

    C#中使用Socket獲取網(wǎng)頁源代碼的代碼

    C#使用Socket獲取網(wǎng)頁源代碼的代碼,需要的朋友可以參考下。
    2010-12-12
  • 深入理解C#中回調(diào)函數(shù)

    深入理解C#中回調(diào)函數(shù)

    回調(diào)函數(shù)是一種在編程中常用的概念,本文將介紹回調(diào)函數(shù)的概念、語法和應(yīng)用,并討論如何設(shè)計(jì)優(yōu)化和重用回調(diào)函數(shù),以及它們在并發(fā)編程中的用途,感興趣的可以了解一下
    2024-02-02
  • C#判斷頁面中的多個(gè)文本框輸入值是否有重復(fù)的實(shí)現(xiàn)方法

    C#判斷頁面中的多個(gè)文本框輸入值是否有重復(fù)的實(shí)現(xiàn)方法

    這篇文章主要介紹了C#判斷頁面中的多個(gè)文本框輸入值是否有重復(fù)的實(shí)現(xiàn)方法,是一個(gè)非常簡單實(shí)用的技巧,需要的朋友可以參考下
    2014-10-10
  • Unity ScrollView實(shí)現(xiàn)動(dòng)態(tài)列表生成

    Unity ScrollView實(shí)現(xiàn)動(dòng)態(tài)列表生成

    這篇文章主要為大家詳細(xì)介紹了Unity ScrollView實(shí)現(xiàn)動(dòng)態(tài)列表生成,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • 詳解LINQ入門(下篇)

    詳解LINQ入門(下篇)

    這篇文章主要介紹了詳解LINQ入門(下篇),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12

最新評論

固原市| 潢川县| 老河口市| 江门市| 高平市| 崇信县| 榆社县| 开平市| 永靖县| 临沂市| 潢川县| 厦门市| 新宁县| 观塘区| 兰坪| 松潘县| 宁河县| 阿勒泰市| 洛南县| 石渠县| 平昌县| 科尔| 利津县| 鹿泉市| 济源市| 分宜县| 陇南市| 兰考县| 莎车县| 腾冲县| 安仁县| 保定市| 阿克陶县| 左权县| 正蓝旗| 兴国县| 乌什县| 萍乡市| 赤峰市| 当阳市| 蕉岭县|