C#?獲取本機IP地址(IPv4和IPv6)
前言:
在我們使用C# WinForm中,我們有時候是需要或者自己本機的IP地址進行處理,今天我們學(xué)習(xí)一下如何使用C# Winform獲取主機的IP地址。現(xiàn)在博主手把手教你獲取,很簡單的。
操作步驟
一,創(chuàng)建文件
創(chuàng)建Winform窗體文件,這里我就不多做介紹,你們可以看看我之前的文章,都是保姆級的。
二,窗體設(shè)計
我們從winform 工具箱拖動textbox,和一個按鈕,對按鈕重命名
三,代碼設(shè)計
3.1雙擊按鈕進入代碼設(shè)計窗口,添加命名空間,也可不添加,等下輸入代碼時使用快捷鍵也是可以的,Alt+Enter,使用ALT鍵+回車。
using System.Net; using System.Net.Sockets;
3.2輸入代碼
IPAddress[] ip = Dns.GetHostAddresses(Dns.GetHostName()); foreach (IPAddress address in ip) { if (address.AddressFamily == AddressFamily.InterNetwork) { textBox1.Text += address.ToString() + "\r\n"; } }
3.3 Dns的方法字段
BeginGetHostAddresses(String, AsyncCallback, Object) 異步返回指定主機的 Internet 協(xié)議 (IP) 地址。 BeginGetHostEntry(IPAddress, AsyncCallback, Object) 將 IP 地址異步解析為 IPHostEntry 實例。 BeginGetHostEntry(String, AsyncCallback, Object) 將主機名或 IP 地址異步解析為 IPHostEntry 實例。 EndGetHostAddresses(IAsyncResult) 結(jié)束對 DNS 信息的異步請求。 EndGetHostEntry(IAsyncResult) 結(jié)束對 DNS 信息的異步請求。 GetHostAddresses(String) 返回指定主機的 Internet 協(xié)議 (IP) 地址。 GetHostAddresses(String, AddressFamily) 返回指定主機的 Internet 協(xié)議 (IP) 地址。 GetHostAddressesAsync(String) 返回指定主機的 Internet 協(xié)議 (IP) 地址以作為異步操作。 GetHostAddressesAsync(String, AddressFamily, CancellationToken) 返回指定主機的 Internet 協(xié)議 (IP) 地址以作為異步操作。 GetHostAddressesAsync(String, CancellationToken) 返回指定主機的 Internet 協(xié)議 (IP) 地址以作為異步操作。 GetHostEntry(IPAddress) 將 IP 地址解析為 IPHostEntry 實例。 GetHostEntry(String) 將主機名或 IP 地址解析為 IPHostEntry 實例。 GetHostEntry(String, AddressFamily) 將主機名或 IP 地址解析為 IPHostEntry 實例。 GetHostEntryAsync(IPAddress) 將 IP 地址解析為 IPHostEntry 實例以作為異步操作。 GetHostEntryAsync(String) 將主機名或 IP 地址解析為 IPHostEntry 實例以作為異步操作。 GetHostEntryAsync(String, AddressFamily, CancellationToken) 將主機名或 IP 地址解析為 IPHostEntry 實例以作為異步操作。 GetHostEntryAsync(String, CancellationToken) 將主機名或 IP 地址解析為 IPHostEntry 實例以作為異步操作。 GetHostName() 獲取本地計算機的主機名。
3.4 AddressFamily方法字段
AppleTalk | 16 | AppleTalk 地址。 |
---|---|---|
Atm | 22 | 本機 ATM 服務(wù)地址。 |
Banyan | 21 | Banyan 地址。 |
Ccitt | 10 | CCITT 協(xié)議(如 X.25)的地址。 |
Chaos | 5 | MIT CHAOS 協(xié)議的地址。 |
Cluster | 24 | Microsoft 群集產(chǎn)品的地址。 |
ControllerAreaNetwork | 65537 | 控制器區(qū)域網(wǎng)絡(luò)地址。 |
DataKit | 9 | Datakit 協(xié)議的地址。 |
DataLink | 13 | 直接數(shù)據(jù)鏈接接口地址。 |
DecNet | 12 | DECnet 地址。 |
Ecma | 8 | 歐洲計算機制造商協(xié)會 (ECMA) 地址。 |
FireFox | 19 | FireFox 地址。 |
HyperChannel | 15 | NSC Hyperchannel 地址。 |
Ieee12844 | 25 | IEEE 1284.4 工作組地址。 |
ImpLink | 3 | ARPANET IMP 地址。 |
InterNetwork | 2 | IP 版本 4 的地址。 |
InterNetworkV6 | 23 | IP 版本 6 的地址。 |
Ipx | 6 | IPX 或 SPX 地址。 |
Irda | 26 | IrDA 地址。 |
Iso | 7 | ISO 協(xié)議的地址。 |
Lat | 14 | LAT 地址。 |
Max | 29 | MAX 地址。 |
NetBios | 17 | NetBios 地址。 |
NetworkDesigners | 28 | 支持網(wǎng)絡(luò)設(shè)計器 OSI 網(wǎng)關(guān)的協(xié)議的地址。 |
NS | 6 | Xerox NS 協(xié)議的地址。 |
Osi | 7 | OSI 協(xié)議的地址。 |
Packet | 65536 | 低級別數(shù)據(jù)包地址。 |
Pup | 4 | PUP 協(xié)議的地址。 |
Sna | 11 | IBM SNA 地址。 |
Unix | 1 | Unix 本地到主機地址。 |
Unknown | -1 | 未知的地址族。 |
Unspecified | 0 | 未指定的地址族。 |
VoiceView | 18 | VoiceView 地址。 |
四 效果展示
IP V4 效果展示
IP V6效果展示
總結(jié):
通過獲取IP地址簇的方式,來到達我們的需求,雖然有點簡單,但是還是值得我們學(xué)習(xí)的,技術(shù)有限,希望能幫到大家,更多相關(guān)C# 獲取本機IP地址內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#實現(xiàn)通過winmm.dll控制聲音播放的方法
這篇文章主要介紹了C#實現(xiàn)通過winmm.dll控制聲音播放的方法,很實用的功能,需要的朋友可以參考下2014-08-08C#中把任意類型的泛型集合轉(zhuǎn)換成SQLXML數(shù)據(jù)格式的實例
本文主要分享了C#中把任意類型的泛型集合轉(zhuǎn)換成SQLXML數(shù)據(jù)格式的實例代碼。具有很好的參考價值,需要的朋友可以看下2016-12-12