C#之獲取網絡卡IP地址
阿新 • • 發佈:2018-12-15
有時候不想讀取配置檔案來進行網路監聽,預設把本級所有IP地址監聽一遍,這個時候就需要獲取本級所有IP地址。
如下:
string name = Dns.GetHostName(); IPAddress[] ipadrlist = Dns.GetHostAddresses(name); try { foreach (IPAddress ipa in ipadrlist) { if (ipa.AddressFamily == AddressFamily.InterNetwork) { Console.WriteLine(ipa.ToString()); } } } catch(Exception ex) { Console.WriteLine("{0}", ex.Message); }
*************************************************上面的存在一個很嚴重的問題,在centos7下面無法獲取到IP地址******
修改一下程式碼
var Ani = NetworkInterface.GetAllNetworkInterfaces(); foreach(var ni in Ani) { var ua =ni.GetIPProperties().UnicastAddresses.ToArray(); foreach(var va in ua) { if(va.Address.AddressFamily == AddressFamily.InterNetwork) { Console.WriteLine(va.Address.ToString()); } } }