Qingzhen/CoralWry.dat データベース (QQWry.dat/CoralWry.dat) を使用できる、自作の C# IP 位置クエリ プログラムを送信します。プログラムの実際の使用価値は大きくない可能性があり、目的としてのみ使用されます。このタイプの C# プログラムのリファレンス。
一部の友人は、オブジェクトの初期化/解放時にデータ ファイルを開く/閉じるために C# の動的クラス オブジェクトのコンストラクター/デストラクターを使用していますが、これは良い方向性のアイデアですが、マネージド プログラム オブジェクトのリリース時間は、特に使用時に明確ではありません。一方では、開いているファイルが解放されないため、リソースの無駄が発生します。さらに、ASP.NET でキャッシュが使用されている場合、共有の競合が発生する可能性があります。このメカニズムによりプログラムが複雑になり、モジュールの独立性と再利用性が低下します。
これらの理由から、このプログラムではすべての静的メソッドが使用されています。実際、これは私の別の C++ プログラムから書き直された C# プログラムです。たとえば、モジュールの呼び出しは非常に簡単です。現在のディレクトリを使用して IP アドレス 121.193.213.6 を照会すると、次のことができます。
IpLocation ipl=IpLocation ipl=IpLocator.GetIpLocation("CoralWry.dat","121.193.213.246");
Console.WriteLine("IP アドレス セグメント: "+IpLocator.IntToIpString(ipl.IpStart)+" - "+IpLocator.IntToIpString(ipl.IpEnd));
Console.WriteLine("IP の場所: "+ipl. Country+" "+ipl.City);
戻り値は IpLocation 構造体で、次の 4 つの属性を含みます: Country、City、IpStart/IpEnd IP セグメントの開始/終了値 (uint 型、IntToIpString() 関数を使用してドット付き IP 文字列に変換できます)
拡大する