ตามเงื่อนไขภายในประเทศของจีน การแชร์บรอดแบนด์ได้รับผลกระทบอย่างรุนแรงจากมลภาวะของ DNS และการสกัดกั้น HTTP ทำให้เกิดความไม่เสถียรในคำขอเครือข่าย อย่างไรก็ตาม โดยทั่วไปแล้วโปรโตคอล IP/TCP จะไม่ได้รับผลกระทบ ดังนั้นคุณจึงสามารถแก้ไขชื่อโดเมนเป็น IP ก่อนแล้วบันทึก และใช้ IP เพื่อเข้าถึงได้ในอนาคต ไคลเอนต์เริ่มต้นและแก้ไขชื่อโดเมนเป็น IP หากล้มเหลว ให้ทดสอบว่า IP ก่อนหน้าพร้อมใช้งานหรือไม่ และระบุความถูกต้องของ IP (เหมือนกับด้านล่าง) หากชื่อโดเมนได้รับการแก้ไขสำเร็จ ข้อมูลที่เข้ารหัสจะถูกส่งไปยังเซิร์ฟเวอร์ และเนื้อหาที่ถอดรหัสแล้วจะถูกส่งกลับเพื่อทดสอบความถูกต้องของ IP (เพื่อให้แน่ใจว่า DNS ไม่มีการปนเปื้อน) หากเป็นไปได้ ให้หลีกเลี่ยงการใช้โปรโตคอล http และใช้โปรโตคอลที่กำหนดเอง สำหรับไคลเอนต์มือถือ คุณสามารถใช้เครือข่ายมือถือเพื่อแก้ไขชื่อโดเมนก่อน จากนั้นจึงใช้ฮอตสปอต WiFi ของคุณเอง วิธีการข้างต้นใช้ได้กับการตัดการเชื่อมต่อเครือข่ายที่ไม่สมบูรณ์หลังจากการตรวจจับบรอดแบนด์เท่านั้น
คัดลอกรหัสรหัสดังต่อไปนี้:
นำเข้า java.net.InetAddress;
นำเข้า java.net.UnknownHostException;
ParseDomainName คลาสสาธารณะ {
InetAddress myServer = null;
InetAddress myIPaddress = null;
สตริงชื่อโดเมน = null;
ParseDomainName สาธารณะ (ชื่อโดเมนสตริง) {
this.domainName = ชื่อโดเมน;
-
InetAddress สาธารณะ getServerIP () {
พยายาม {
myServer = InetAddress.getByName(ชื่อโดเมน);
} จับ (UnknownHostException จ) {
-
กลับ (myServer);
-
// รับที่อยู่ IP ของ LOCALHOST
InetAddress สาธารณะ getMyIP () {
พยายาม {
myIPaddress = InetAddress.getLocalHost();
} จับ (UnknownHostException จ) {
-
กลับ (myIPaddress);
-
โมฆะคงที่สาธารณะ main (String [] args) {
ParseDomainName pdn = ใหม่ ParseDomainName("www.baidu.com");
System.out.println("IP โฮสต์ของคุณคือ: " + pdn.getMyIP().getHostAddress());
System.out.println("IP ของเซิร์ฟเวอร์คือ :" + pdn.getServerIP().getHostAddress());
-
-