Selon les conditions nationales de la Chine, le partage du haut débit est sérieusement affecté par la pollution DNS et l'interception HTTP, provoquant une instabilité des requêtes réseau. Cependant, le protocole IP/TCP n'est généralement pas affecté. Par conséquent, vous pouvez d'abord résoudre le nom de domaine en IP, l'enregistrer, puis utiliser IP pour y accéder ultérieurement. Le client démarre et résout le nom de domaine en IP. En cas d'échec, testez si l'adresse IP précédente est disponible et identifiez l'authenticité de l'adresse IP (comme ci-dessous). Si le nom de domaine est résolu avec succès, les informations cryptées sont envoyées au serveur et le contenu déchiffré est renvoyé pour tester l'authenticité de l'IP (pour s'assurer qu'elle n'est pas contaminée par DNS). Si possible, évitez d'utiliser le protocole http et utilisez un protocole personnalisé. Pour les clients mobiles, vous pouvez même utiliser le réseau mobile pour résoudre d'abord le nom de domaine, puis utiliser votre propre point d'accès WiFi. La méthode ci-dessus n'est efficace qu'en cas de déconnexion incomplète du réseau après détection du haut débit.
Copiez le code comme suit :
importer java.net.InetAddress ;
importer java.net.UnknownHostException ;
classe publique ParseDomainName {
InetAddress monServeur = null ;
InetAddress monadresseIP = null ;
Chaîne domainName = null ;
public ParseDomainName (String domainName) {
this.domainName = domainName ;
}
public InetAddress getServerIP() {
essayer {
monServeur = InetAddress.getByName(domainName);
} catch (UnknownHostException e) {
}
return (monServeur);
}
// Récupère l'adresse IP de LOCALHOST
public InetAddress getMyIP() {
essayer {
monadresseIP = InetAddress.getLocalHost();
} catch (UnknownHostException e) {
}
retourner (monadresseIP);
}
public static void main (String[] arguments) {
ParseDomainName pdn = new ParseDomainName("www.baidu.com");
System.out.println("Votre IP hôte est : " + pdn.getMyIP().getHostAddress());
System.out.println("L'adresse IP du serveur est :" + pdn.getServerIP().getHostAddress());
}
}