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地址
  • 相关阅读:
    蓝桥杯 算法训练 最大的算式
    hdu 5389 Zero Escape
    hdu 2577 How to Type
    java设计模式之命令模式
    java设计模式之策略模式
    Java四种引用包括强引用,软引用,弱引用,虚引用
    Java 面试参考指南 — 同步
    Java面试通关要点
    基于注解的 Spring MVC(上)
    69道Spring面试题和答案
  • 原文地址:https://www.cnblogs.com/temptation/p/1255932.html
Copyright © 2011-2022 走看看