ตัวอย่างในบทความนี้อธิบายวิธีที่ Java พิจารณาว่าที่อยู่ IP เป็น IP อินทราเน็ตหรือ IP สาธารณะ แบ่งปันกับทุกคนสำหรับการอ้างอิงของคุณ การวิเคราะห์เฉพาะมีดังนี้:
ในโปรโตคอล TCP/IP พื้นที่ที่อยู่ IP สามพื้นที่จะถูกสงวนไว้เป็นพิเศษเป็นที่อยู่ส่วนตัว ช่วงที่อยู่มีดังนี้:
10.0.0.0/8:10.0.0.0~10.255.255.255
172.16.0.0/12:172.16.0.0~172.31.255.255
192.168.0.0/16:192.168.0.0~192.168.255.255
ตรงไปที่โค้ด:
คัดลอกรหัสดังต่อไปนี้: สาธารณะบูลีนคงที่ InternalIp(String ip) {
ไบต์ [] addr = IPAddressUtil.textToNumericFormatV4(ip);
กลับภายใน Ip (addr);
-
บูลีนคงที่สาธารณะ InternalIp (ไบต์ [] addr) {
ไบต์สุดท้าย b0 = addr[0];
ไบต์สุดท้าย b1 = addr[1];
//10.xxx/8
ไบต์สุดท้าย SECTION_1 = 0x0A;
//172.16.xx/12
ไบต์สุดท้าย SECTION_2 = (ไบต์) 0xAC;
ไบต์สุดท้าย SECTION_3 = (ไบต์) 0x10;
ไบต์สุดท้าย SECTION_4 = (ไบต์) 0x1F;
//192.168.xx/16
ไบต์สุดท้าย SECTION_5 = (ไบต์) 0xC0;
ไบต์สุดท้าย SECTION_6 = (ไบต์) 0xA8;
สวิตช์ (b0) {
กรณี SECTION_1:
กลับเป็นจริง;
กรณี SECTION_2:
ถ้า (b1 >= SECTION_3 && b1 <= SECTION_4) {
กลับเป็นจริง;
-
กรณี SECTION_5:
สวิตช์ (b1) {
กรณี SECTION_6:
กลับเป็นจริง;
-
ค่าเริ่มต้น:
กลับเท็จ;
-
-
ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับการเขียนโปรแกรม Java ของทุกคน