netcore 获取本地网络IP地址
生活随笔
收集整理的這篇文章主要介紹了
netcore 获取本地网络IP地址
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
。net framework 下面可以用下面的代碼獲取到本地網絡ip地址。netcore下面這個代碼也依然可以用
System.Net.Dns.GetHostName() System.Net.Dns.GetHostEntry(hostName)But,偶然的一次線上日志查看,發現獲取到的IP全都是127.0.0.1。雖然本地windows測試上面的代碼好使,本地測試環境centos7也好使。就是線上部分機器有問題,
遂寫了個demo程序放產線上跑了一下,發現GetHostEntry里面只有一張網卡的信息,即本地回環的那個(lo);
后,經過偉大的google教訓:找到https://github.com/dotnet/corefx/issues/8458,遂恍然大悟,應該這樣寫:
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
轉載于:https://www.cnblogs.com/calvinK/p/8245175.html
總結
以上是生活随笔為你收集整理的netcore 获取本地网络IP地址的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 利用鼠标点击绘制出三棱锥
- 下一篇: 判断溢出的三种方式