Согласно национальным условиям Китая, на совместное использование широкополосного доступа серьезно влияет загрязнение DNS и перехват HTTP, что приводит к нестабильности сетевых запросов. Однако протокол IP/TCP обычно не затрагивается. Таким образом, вы можете сначала преобразовать имя домена в IP, сохранить его и использовать IP для доступа к нему в будущем. Клиент запускается и преобразует имя домена в IP. В случае сбоя проверьте, доступен ли предыдущий IP-адрес, и определите подлинность IP-адреса (так же, как показано ниже). Если доменное имя успешно разрешено, зашифрованная информация отправляется на сервер, а расшифрованный контент возвращается для проверки подлинности IP-адреса (чтобы убедиться, что он не загрязнен DNS). Если возможно, избегайте использования протокола http и используйте собственный протокол. Для мобильных клиентов вы даже можете сначала использовать мобильную сеть для разрешения доменного имени, а затем использовать собственную точку доступа Wi-Fi. Вышеописанный метод эффективен только при неполном отключении сети после обнаружения широкополосного доступа.
Скопируйте код кода следующим образом:
импортировать java.net.InetAddress;
импортировать java.net.UnknownHostException;
общественный класс ParseDomainName {
InetAddress myServer = null;
InetAddress myIPaddress = null;
Строка имя_домена = ноль;
public ParseDomainName (String имя_домена) {
this.domainName = имя_домена;
}
общественный InetAddress getServerIP () {
пытаться {
myServer = InetAddress.getByName(domainName);
} catch (UnknownHostException e) {
}
возврат (мойСервер);
}
// Получаем IP-адрес LOCALHOST
публичный InetAddress getMyIP() {
пытаться {
мойIPадрес = InetAddress.getLocalHost();
} catch (UnknownHostException e) {
}
возврат (мойIPадрес);
}
public static void main(String[] args) {
ParseDomainName pdn = новое ParseDomainName("www.baidu.com");
System.out.println("IP-адрес вашего хоста: " + pdn.getMyIP().getHostAddress());
System.out.println("IP-адрес сервера:" + pdn.getServerIP().getHostAddress());
}
}