zoukankan      html  css  js  c++  java
  • .net core获取本地Ip地址的方法

      笔记:  

        /// <summary>
        /// 获取本地Ip地址
        /// </summary>
        /// <returns></returns>
        public string GetLocalIp()
        {
            var addressList = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()).AddressList;
            var ip = addressList.FirstOrDefault(address => address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)?.ToString();
            return ip;
        }

      注意一下,上面的addressList参数包含了包含了IPv4和IPv6的地址信息,如果按照了虚拟机(如vmware等),启用了多个网络适配器,那么IPv4和IPv6可能会存在多个地址,具体需要哪个可自行判断。

      比如更准确的做法:  

        /// <summary>
        /// 获取本地Ip地址
        /// </summary>
        /// <returns></returns>
        public static string GetLocalIp()
        {
            var addressList = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName()).AddressList;
            var ips = addressList.Where(address => address.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork)
                    .Select(address => address.ToString()).ToArray();
            if (ips.Length == 1)
            {
                return ips.First();
            }
            return ips.Where(address => !address.EndsWith(".1")).FirstOrDefault() ?? ips.FirstOrDefault();
        }
  • 相关阅读:
    sql-定义变量
    sql-逻辑循环while if
    iOS生命周期
    iOS系统架构
    SVN记住密码
    视图在控制权限的作用
    20140524数据库课笔记
    char和varchar区别
    多表查找
    create table约束
  • 原文地址:https://www.cnblogs.com/shanfeng1000/p/13877082.html
Copyright © 2011-2022 走看看