Senden Sie ein selbst geschriebenes C#-IP-Standortabfrageprogramm, das die Datenbank Qingzhen/CoralWry.dat (QQWry.dat/CoralWry.dat) verwenden kann. Der tatsächliche Nutzen des Programms ist möglicherweise nicht groß und wird nur als verwendet Referenz für diese Art von C#-Programm.
Einige Freunde verwenden den Konstruktor/Destruktor dynamischer Klassenobjekte in C#, um Datendateien zu öffnen/schließen, wenn das Objekt initialisiert/freigegeben wird. Obwohl dies eine gute orientierte Idee ist, ist die Veröffentlichungszeit des verwalteten Programmobjekts nicht definitiv, insbesondere die Verwendung Einerseits führt dies zu einer Verschwendung von Ressourcen, da die geöffnete Datei nicht freigegeben wird. Darüber hinaus kann es zu Freigabekonflikten kommen, die durch Thread-Parallelität verursacht werden Der Mechanismus erhöht die Komplexität des Programms und verringert die Unabhängigkeit und Wiederverwendbarkeit des Moduls.
Aus diesen Gründen werden im Programm alle statischen Methoden verwendet. Tatsächlich handelt es sich um ein C#-Programm, das aus einem anderen C++-Programm von mir neu geschrieben wurde. Der Aufruf des Moduls ist beispielsweise sehr einfach Im aktuellen Verzeichnis können Sie die IP-Adresse 121.193.213.6 abfragen.
IpLocation ipl=IpLocation ipl=IpLocator.GetIpLocation("CoralWry.dat","121.193.213.246");
Console.WriteLine("IP-Adresssegment: "+IpLocator.IntToIpString(ipl.IpStart)+" - "+IpLocator.IntToIpString(ipl.IpEnd));
Console.WriteLine("IP-Standort: "+ipl.Country+" "+ipl.City);
Der Rückgabewert ist eine IpLocation-Struktur, die 4 Attribute enthält: Land, Stadt, IpStart/IpEnd Start-/Endwert des IP-Segments (Typ uint, kann mit der Funktion IntToIpString() in eine gepunktete IP-Zeichenfolge konvertiert werden)
Expandieren