netcore 获取本地网络IP地址
生活随笔
收集整理的這篇文章主要介紹了
netcore 获取本地网络IP地址
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
。net framework 下面可以用下面的代碼獲取到本地網(wǎng)絡(luò)ip地址。netcore下面這個(gè)代碼也依然可以用
System.Net.Dns.GetHostName() System.Net.Dns.GetHostEntry(hostName)But,偶然的一次線(xiàn)上日志查看,發(fā)現(xiàn)獲取到的IP全都是127.0.0.1。雖然本地windows測(cè)試上面的代碼好使,本地測(cè)試環(huán)境centos7也好使。就是線(xiàn)上部分機(jī)器有問(wèn)題,
遂寫(xiě)了個(gè)demo程序放產(chǎn)線(xiàn)上跑了一下,發(fā)現(xiàn)GetHostEntry里面只有一張網(wǎng)卡的信息,即本地回環(huán)的那個(gè)(lo);
后,經(jīng)過(guò)偉大的google教訓(xùn):找到https://github.com/dotnet/corefx/issues/8458,遂恍然大悟,應(yīng)該這樣寫(xiě):
System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces().Select(p => p.GetIPProperties()).SelectMany(p => p.UnicastAddresses).Where(p => p.Address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork && !System.Net.IPAddress.IsLoopback(p.Address)).FirstOrDefault()?.Address.ToString();參考:https://github.com/dotnet/corefx/issues/8458
轉(zhuǎn)載于:https://www.cnblogs.com/calvinK/p/8245175.html
總結(jié)
以上是生活随笔為你收集整理的netcore 获取本地网络IP地址的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 利用鼠标点击绘制出三棱锥
- 下一篇: 判断溢出的三种方式