知识大全 利用C#编写查询IP所在区段
Posted 知
篇首语:热水治不了百病,情话过不了一生。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 利用C#编写查询IP所在区段相关的知识,希望对你有一定的参考价值。
利用C#编写查询IP所在区段 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
编程语言 C#类 别 (网络应用 实用算法)主要功能 查询一个IP所有的IP段 关键:从Byte数组到ulong的转换出来的数字和 IPAddress Address 返回值的是不一样的
using System;using System Collections Generic;using System Text;using System Net;
namespace IPUtility class Program static void Main(string[] args) IPRangeManage irm = new IPRangeManage(); irm Add(new IPRange( 石家庄 )); irm Add(new IPRange( 石家庄 )); irm Add(new IPRange( 唐山 )); irm Add(new IPRange( 保定 ));
Console WriteLine(irm Search( ) Name);
Console ReadLine();
public class IPRange private string _Name = string Empty;
private ulong _BeginIP = ;
private ulong _EndIP = Int MaxValue;
/**//// <summary> /// IP段名称 /// </summary> public string Name get return _Name; set _Name = value;
/**//// <summary> /// ?始IP /// </summary> public ulong BeginIP get return _BeginIP; set _BeginIP = value;
/**//// <summary> /// ?束IP /// </summary> public ulong EndIP get return _EndIP; set _EndIP = value;
/**//// <summary> /// 此IP段的范? /// </summary> public ulong Range get return EndIP BeginIP;
public IPRange(string name string ipBegin string ipEnd) this Name = name; this BeginIP = IP A(ipBegin); this EndIP = IP A(ipEnd);
public static ulong IP A(string ip) byte[] bytes = IPAddress Parse(ip) GetAddressBytes(); ulong ret = ;
foreach (byte b in bytes) ret <<= ; ret |= b;
return ret;
public static int Compare(IPRange x IPRange y) if(x Range == y Range) return ; else if(x Range > y Range) return ; else return ;
public class IPRangeManage public IPRangeManage()
private List< IPRange> _IPRangeList = new List< IPRange>(); private bool _NeedSort = true;
public void Add(IPRange ipRange) _IPRangeList Add(ipRange); _NeedSort = true;
private void Sort() if (_NeedSort) _IPRangeList Sort(new Comparison<IPRange>(IPRange Compare));
public IPRange Search(string ipString) ulong ip = IPRange IP A(ipString);
this Sort();
foreach (IPRange ir in _IPRangeList) if (ir BeginIP <= ip && ir EndIP >= ip) return ir;
return null;
cha138/Article/program/net/201311/12757相关参考
dat文件关于ip对应地区的信息文件qqwrydat文件网上自己下载class类文件解析qqwrydata文件的IpLocationphp文件复制代码代码如下:<?phpclassIpLoc
利用Delphi2005编写C#应用程序 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!Delphi
利用C#实现分布式数据库查询 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 随着传统的数据库计算
用浏览器打开手机号码查询的网站同以上步骤找到他调用的地址最后编写代码如下 代码如下usingSystem;usingSystemWindowsForms;usingSystemXml;names
C#实现更改IP功能源代码 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 这是一个很好的源码给大
C#中如何得到主机名与IP地址 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! /* *Copy
使用C#编写扩展存储过程 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 什么是扩展存储过程?
用C#编写ActiveX控件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!首先建立一个WinFor
很急通过手机QQ查询ip怎么办我妹妹不见了! 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!很急通过
C#中如何编写使用SendMessage 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!