爱易网
IT新闻
IT新闻
爱易资讯
网站搭建
云虚拟主机教程
云服务器教程
Apache教程
IIS教程
Nginx教程
网站策划
站长文章
推广教程
淘宝客教程
网页设计
HTML教程
XHTML教程
CSS教程
HTML5教程
CSS3教程
JavaSript基础
JQuery教程
Node.js教程
前端技术
Ajax教程
Js特效
Xml教程
平面设计
页面UI设计
photoshop教程
程序开发
AI人工智能
Asp教程
Php教程
Asp.Net教程
Net Core教程
C#教程
Java教程
Jsp教程
开发技术
微信小程序教程
Uniapp开发教程
微信公众号开发
Andriod教程
IOS教程
DOS教程
Python教程
Docker教程
Windows Container教程
数据库
MSSQL教程
MySQL教程
Redis教程
Access教程
Oracle教程
数据库教程
操作系统
Linux教程
Windows教程
MAC教程
Cisco教程
交换机教程
防火墙教程
搜索
爱易网页
C#教程
C#读取QQWry.Dat资料实现IP查询
C#读取QQWry.Dat资料实现IP查询
日期:2014-05-18 浏览次数:20922 次
C#读取QQWry.Dat文件实现IP查询
QQWry数据库下载地址:http://download.csdn.net/detail/fwj380891124/4385554
using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Web; using System.Configuration; namespace BLL { public class IPLocationSearch { private static readonly QQWry qq = new QQWry(ConfigurationManager.AppSettings["ip"] + "qqwry.dat"); public static IPLocation GetIPLocation(string ip) { return qq.SearchIPLocation(ip); } } /* 使用方法: 例子: BDQQ.Data.QQWry qq=new BDQQ.Data.QQWry("d:\\QQWry.Dat"); BDQQ.Data.IPLocation ip=qq.SearchIPLocation("127.0.0.1");//这里添写IP地址 Console.WriteLine(ip.country);//国家 Console.WriteLine(ip.area);//地区 */ //以下是类文件 //根据LumaQQ改写而成. /**/ ///<summary> /// QQWry 的摘要说明。 ///</summary> public class QQWry { //第一种模式 #region 第一种模式 /**/ ///<summary> ///第一种模式 ///</summary> #endregion private const byte REDIRECT_MODE_1 = 0x01; //第二种模式 #region 第二种模式 /**/ ///<summary> ///第二种模式 ///</summary> #endregion private const byte REDIRECT_MODE_2 = 0x02; //每条记录长度 #region 每条记录长度 /**/ ///<summary> ///每条记录长度 ///</summary> #endregion private const int IP_RECORD_LENGTH = 7; //数据库文件 #region 数据库文件 /**/ ///<summary> ///文件对象 ///</summary> #endregion private FileStream ipFile; private const string unCountry = "未知国家"; private const string unArea = "未知地区"; //索引开始位置 #region 索引开始位置 /**/ ///<summary> ///索引开始位置 ///</summary> #endregion private long ipBegin; //索引结束位置 #region 索引结束位置 /**/ ///<summary> ///索引结束位置 ///</summary> #endregion private long ipEnd; //IP地址对象 #region IP地址对象 /**/ ///<summary> /// IP对象 ///</summary> #endregion private IPLocation loc; //存储文本内容 #region 存储文本内容 /**/ ///<summary> ///存储文本内容 ///</summary> #endregion private byte[] buf; //存储3字节 #region 存储3字节 /**/ ///<summary> ///存储3字节 ///</summary> #endregion private byte[] b3; //存储4字节 #region 存储4字节 /**/ ///<summary> ///存储4字节IP地址 ///</summary> #endregion private byte[] b4; //构造函数 #region 构造函数 /**/ ///<summary> ///构造函数 ///</summary> ///<param name="ipfile">IP数据库文件绝对路径</param> #endregion public QQWry(string ipfile) { buf = new byte[100]; b3 = new byte[3]; b4 = new byte[4]; try { ipFile = new FileStream(ipfile, FileMode.Open); } catch (Exception ex) { throw new Exception(ex.Message); } ipBegin = readLong4(0); ipEnd = readLong4(4); loc = new IPLocation(); } //根据IP地址搜索 #region 根据IP地址搜索 /**/ ///<summary> ///搜索IP地址搜索 ///</summary> ///<param name="ip"></para
上一篇:Ftp.dll操作上传FTP文件
下一篇: ~程序退出时0×00000004的内存异常
免责声明:
本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
相关资料
更多>
怎么判断一个点 在不在一个不规则的正四边形内
没法将'int'隐式转换成'ushort',存在一个显示转换(是否缺少强制转换)
急怎么获得硬盘的ID号,小弟我的VS2003用找不到 using System.Management这个类,请教有什么方法,
找不到一个引用,来指点一下,送分啦
WinForm程序怎么做报表的。除了商业的控件?
C#自定义控件事件和委托有关问题
三层架构中多表查询是返回实体好还是集合好 讨论下解决方案
十分详细的C#面试题集
好手帮看看
推荐阅读
更多>
为什么修改数据库之后,得不到最新数据!50分求解!解决办法
关于.net 4.0上并行计算的有关问题
输入一个ID,然后在datagridview中显示出相关信息,再输第二个ID的时候,查出来后,只能显示第二个ID的信息,第一个的没有了。小弟我要都显示该怎么处理
.NET(XP SP2)下还有无办法实现IP的隐藏或是更改IP头从而与网页交互?
msn里有这个功能:如果小弟我在5分钟为非活动状态则显示为离开。怎么用c#实现了
ListBox跟RegistryKey、Registry
LINQ语句类型的有关问题
请教这这类网址,怎样才可以进入或者得到真正的网址
初学者求个将TEXTBOX多行内容导入LISTBOX代码,TEXTBOX每行(分行/回车)的内容占一个listbox项.谢谢!
C# WinFrom DataGridView绑定后不显示数据,该怎么解决
vb+crystalReport10.0 导出有关问题
去面试碰到一个面试题,问怎么让.NET变的高效.
WPF控件里有没有MonthCalendar之类的现成的控件啊该如何解决
怎么获取已下传文件的内容 求教
心境小郁闷。设计模式白看了。被野比调戏了一宿
~帮忙看看这条SQL语句,挺纠结的解决思路
编码有关问题:"安哥拉\x28中\x29"怎么转化成“安哥拉(中)”
时出时没 ASPNET: Make sure that the class defined in this code file matches解决方法
找到一个截全屏代码,不过不会用,哪位高手救一下新人
怎么完成类似google,baidu搜索栏那样输入一个字,就能显示之前输入过的字呢