zoukankan      html  css  js  c++  java
  • 【原】IP地址存储问题

    今天,Boylee问我知道不知道IP地址如何合理的存储到数据库中?我不知道,然后听他说了思路,记录下来。

     1public class CTrans
     2    {
     3        /// <summary>
     4        /// IP地址转数据
     5        /// </summary>
     6        /// <param name="strIp">IP地址</param>
     7        /// <returns>数据</returns>

     8        public static uint IPToData(String strIp)
     9        {
    10            // 将127.0.0.1 形式的IP地址转换成10进制整数
    11            uint[] ip = new uint[4];
    12
    13            // 找到IP地址字符串中.的位置
    14            int position1 = strIp.IndexOf(".");
    15            int position2 = strIp.IndexOf(".", position1 + 1);
    16            int position3 = strIp.IndexOf(".", position2 + 1);
    17
    18            // 将每个.之间的字符串转换成整型
    19            ip[0= Convert.ToUInt32(strIp.Substring(0, position1));
    20            ip[1= Convert.ToUInt32(strIp.Substring(position1 + 1, position2-(position1 + 1)));
    21            ip[2= Convert.ToUInt32(strIp.Substring(position2 + 1, position3-(position2 + 1)));
    22            ip[3= Convert.ToUInt32(strIp.Substring(position3 + 1));
    23
    24            // ip0*256*256*256 + ip1*256*256 + ip2*256 + ip3
    25            return (ip[0<< 24+ (ip[1<< 16+ (ip[2<< 8+ ip[3];
    26        }

    27
    28        /// <summary>
    29        /// 数据转IP地址
    30        /// </summary>
    31        /// <param name="uintIP">数据</param>
    32        /// <returns>IP地址</returns>

    33        public static String DataToIP(uint uintIP)
    34        {
    35            // 将10进制整数形式转换成127.0.0.1形式的IP地址
    36            StringBuilder sb = new StringBuilder("");
    37            sb.Append(Convert.ToString(uintIP >> 24));
    38            sb.Append(".");
    39            sb.Append(Convert.ToString((uintIP & 0x00FFFFFF>> 16));
    40            sb.Append(".");
    41            sb.Append(Convert.ToString((uintIP & 0x0000FFFF>> 8));
    42            sb.Append(".");
    43            sb.Append(Convert.ToString(uintIP & 0x000000FF));
    44            sb.Append(".");
    45            return sb.ToString(); 
    46        }

    47    }

    前台用类似

    string strIp = Request.UserHostAddress;
    取得访问的IP地址
  • 相关阅读:
    flutter 网络请求以及数据处理
    flutter 布局 Expanded Stack Positioned
    异步|同步&阻塞|非阻塞
    Spring AOP 由浅入深
    Elasticsearch初探
    dubbo工作原理
    BeanFactory vs ApplicationContext
    Spring container vs SpringMVC container(webmvc container)
    Spring @Service生成bean名称的规则
    MySQL绿色版安装(mysql-5.7.12-win32)
  • 原文地址:https://www.cnblogs.com/temptation/p/1255932.html
Copyright © 2011-2022 走看看