Java斷定IP地址為內網IP照樣公網IP的辦法。本站提示廣大學習愛好者:(Java斷定IP地址為內網IP照樣公網IP的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是Java斷定IP地址為內網IP照樣公網IP的辦法正文
本文實例講述了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
那末,直接上代碼吧:
public static boolean internalIp(String ip) {
byte[] addr = IPAddressUtil.textToNumericFormatV4(ip);
return internalIp(addr);
}
public static boolean internalIp(byte[] addr) {
final byte b0 = addr[0];
final byte b1 = addr[1];
//10.x.x.x/8
final byte SECTION_1 = 0x0A;
//172.16.x.x/12
final byte SECTION_2 = (byte) 0xAC;
final byte SECTION_3 = (byte) 0x10;
final byte SECTION_4 = (byte) 0x1F;
//192.168.x.x/16
final byte SECTION_5 = (byte) 0xC0;
final byte SECTION_6 = (byte) 0xA8;
switch (b0) {
case SECTION_1:
return true;
case SECTION_2:
if (b1 >= SECTION_3 && b1 <= SECTION_4) {
return true;
}
case SECTION_5:
switch (b1) {
case SECTION_6:
return true;
}
default:
return false;
}
}
願望本文所述對年夜家的Java法式設計有所贊助。