主頁 > 知識庫 > 讀取純真IP數(shù)據(jù)庫的公用組件接口QQWry.NET

讀取純真IP數(shù)據(jù)庫的公用組件接口QQWry.NET

熱門標(biāo)簽:國美全國運營中心 電商新玩法 網(wǎng)站排名優(yōu)化 科大訊飛語音識別系統(tǒng) 電銷業(yè)務(wù) 百度AI接口 客戶服務(wù) 人工智能
這是一個讀取純真IP數(shù)據(jù)庫的公用組件接口,我是通過luma的《純真IP數(shù)據(jù)庫格式詳解》了解了純真IP數(shù)據(jù)庫數(shù)據(jù)格式,并且基于網(wǎng)絡(luò)上的一個IPLocation.dll源碼的基礎(chǔ)改編而來。我為什么要改編這個組件呢?因為我看到這個組件在使用過程中,每次都要打開文件流,并且整個接口使用靜態(tài)的屬性。并不適合Web環(huán)境下,多線程并發(fā)查詢的需求,并且在性能上也不是最優(yōu)。有了luma的格式詳解,和現(xiàn)有的IPLocation.dll的源碼,使我的工作變得異常的簡單。出現(xiàn)的一個小錯誤,也是經(jīng)過一次調(diào)試后就解決了。性能較IPLocation.dll也有較大的提高,雖然只有短短的幾百行代碼,雖然網(wǎng)上也有很多類似的代碼,但繼承我一貫的做法,我仍然把這個組件開源貢獻(xiàn)出來。下面是一些接口使用的介紹:
復(fù)制代碼 代碼如下:

QQWry.NET.QQWryLocator qqWry = new QQWry.NET.QQWryLocator("qqwry.dat");//初始化數(shù)據(jù)庫文件,并獲得IP記錄數(shù),通過Count可以獲得
QQWry.NET.IPLocation ip = qqWry.Query("120.67.217.7"); //查詢一個IP地址
Console.WriteLine("{0} {1} {2}", ip.IP, ip.Country, ip.Local);

以下是與IPLocation.dll在性能上的對比代碼:
復(fù)制代碼 代碼如下:

Stopwatch stopwatch = new Stopwatch();
Liststring> ips = new Liststring> { "218.5.3.128", "120.67.217.7", "125.78.67.175", "220.250.64.23", "218.5.3.128", "120.67.217.7", "125.78.67.175", "220.250.64.23" };
stopwatch.Start();
for (int i = 0; i 100; i++)
{
foreach (string item in ips)
{
ip = qqWry.Query(item);
// Console.WriteLine("{0} {1} {2}", ip.IP, ip.Country, ip.Local);
}
}
stopwatch.Stop();
Console.WriteLine("QQWryLocator 花了{(lán)0} ms", stopwatch.ElapsedMilliseconds);
stopwatch.Reset();
stopwatch.Start();
for (int i = 0; i 100; i++)
{
foreach (string item in ips)
{
string s = IPLocation.IPLocation.IPLocate("qqwry.dat", item);
// Console.WriteLine(s);
}
}
stopwatch.Stop();
Console.WriteLine("IPLocation 花了{(lán)0} ms", stopwatch.ElapsedMilliseconds);

性能比較結(jié)果:
 
源碼和示例下載
您可能感興趣的文章:
  • php讀取純真ip數(shù)據(jù)庫使用示例
  • C#讀取QQ純真IP數(shù)據(jù)庫QQWry.Dat的代碼
  • PHP獲取IP地址所在地信息的實例(使用純真IP數(shù)據(jù)庫qqwry.dat)

標(biāo)簽:廈門 拉薩 POS機 棗莊 咸寧 益陽 南平 攀枝花

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《讀取純真IP數(shù)據(jù)庫的公用組件接口QQWry.NET》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266