Envoyez un programme de requête de localisation IP C# auto-écrit, qui peut utiliser la base de données Qingzhen/CoralWry.dat (QQWry.dat/CoralWry.dat). La valeur d'utilisation réelle du programme peut ne pas être grande et il n'est utilisé que comme un). référence pour ce type de programme C#.
Certains amis utilisent le constructeur/destructeur d'objets de classe dynamique en C# pour ouvrir/fermer les fichiers de données lorsque l'objet est initialisé/libéré. Bien que ce soit une bonne idée, le temps de sortie de l'objet programme géré n'est certainement pas le cas, en particulier l'utilisation. d'ASP.NET. D'une part, cela entraînera un gaspillage de ressources car le fichier ouvert n'est pas publié. Plus important encore, cela peut provoquer des conflits de partage causés par la concurrence des threads. De plus, si le cache est utilisé dans ASP.NET. Ce mécanisme augmentera la complexité du programme et réduira l’indépendance et la réutilisabilité du module.
Pour ces raisons, toutes les méthodes statiques sont utilisées dans le programme. En fait, il s'agit d'un programme C# réécrit à partir d'un autre de mes programmes C++. L'appel du module est très simple. Par exemple, utilisez le fichier de données CoralWry.dat. répertoire actuel pour interroger l’adresse IP 121.193.213.6, vous pouvez :
IpLocation ipl=IpLocation ipl=IpLocator.GetIpLocation("CoralWry.dat","121.193.213.246");
Console.WriteLine("Segment d'adresse IP : "+IpLocator.IntToIpString(ipl.IpStart)+" - "+IpLocator.IntToIpString(ipl.IpEnd));
Console.WriteLine("Emplacement IP : "+ipl.Country+" "+ipl.City);
La valeur de retour est une structure IpLocation, contenant 4 attributs : Pays, Ville, IpStart/IpEnd Valeur de début/fin du segment IP (type uint, peut être converti en chaîne IP en pointillés à l'aide de la fonction IntToIpString())
Développer