중국의 국가 상황에 따르면 광대역 공유는 DNS 오염 및 HTTP 차단으로 인해 심각한 영향을 받아 네트워크 요청이 불안정해집니다. 그러나 IP/TCP 프로토콜은 일반적으로 영향을 받지 않습니다. 따라서 먼저 도메인 이름을 IP로 해석하여 저장하고, 나중에 IP를 사용하여 접속할 수 있습니다. 클라이언트가 시작되고 도메인 이름을 IP로 확인합니다. 실패하면 이전 IP를 사용할 수 있는지 테스트하고 IP의 신뢰성을 식별합니다(아래와 동일). 도메인 이름이 성공적으로 확인되면 암호화된 정보가 서버로 전송되고 해독된 콘텐츠가 반환되어 IP의 신뢰성을 테스트합니다(DNS에 의해 오염되지 않았는지 확인하기 위해). 가능하다면 http 프로토콜 사용을 피하고 사용자 정의 프로토콜을 사용하십시오. 모바일 클라이언트의 경우 모바일 네트워크를 사용하여 먼저 도메인 이름을 확인한 다음 자체 WiFi 핫스팟을 사용할 수도 있습니다. 위의 방법은 광대역 감지 후 불완전한 네트워크 연결 끊김에만 유효합니다.
다음과 같이 코드 코드를 복사합니다.
java.net.InetAddress 가져오기;
import java.net.UnknownHostException;
공개 클래스 ParseDomainName {
InetAddress myServer = null;
InetAddress myIPaddress = null;
문자열 도메인 이름 = null;
공개 ParseDomainName(문자열 도메인 이름) {
this.domainName = 도메인이름;
}
공개 InetAddress getServerIP() {
노력하다 {
myServer = InetAddress.getByName(도메인이름);
} 잡기(UnknownHostException e) {
}
반환(myServer);
}
// LOCALHOST의 IP 주소를 가져옵니다.
공개 InetAddress getMyIP() {
노력하다 {
myIPaddress = InetAddress.getLocalHost();
} 잡기(UnknownHostException e) {
}
반환(myIP주소);
}
공개 정적 무효 메인(String[] args) {
ParseDomainName pdn = new ParseDomainName("www.baidu.com");
System.out.println("귀하의 호스트 IP는: " + pdn.getMyIP().getHostAddress());
System.out.println("서버 IP는 :" + pdn.getServerIP().getHostAddress());
}
}