Android獲取外網和內網ip位址

2021-10-10 22:21:47 字數 1486 閱讀 9380

/**

* 獲取內網ip位址

* @param context

* @return

*/public static string getintranetipaddress(context context) }}

} catch (socketexception e)

} else if (info.gettype() == connectivitymanager.type_wifi)

} else

return null;

}/**

* 將得到的int型別的ip轉換為string型別

* * @param ip

* @return

*/public static string intip2stringip(int ip)

2.測試:

列印日誌為:10.0.1.121

* 獲取外網的ip(要訪問url,要放到後台執行緒裡處理)

* * @param @return

* @return string

* @throws

* @title: getnetip

* @description:

*/public static string getnetextranetipaddress()

pattern pattern = pattern.compile("((?:(?:25[0-5]|2[0-4]\\d|((1\\d)|([1-9]?\\d)))\\.)(?:25[0-5]|2[0-4]\\d|((1\\d)|([1-9]?\\d))))");

matcher matcher = pattern.matcher(sb.tostring());

if (matcher.find())

}} catch (malformedurlexception e) catch (ioexception e) finally catch (ioexception e) catch (exception ex)

}logutils.e("getnetip", ipline);

return ipline;

}4.測試:

列印日誌為:61.49.113.194

5.測試了華為、小公尺手機,模擬器也測試了幾款都能正常獲取內外網ip位址,tv和盒子也能正常獲取.

獲取本機內網 外網ip C

電腦在區域網內,通過閘道器 路由器連線到internet則ip分為內網ip 外網ip。通過ipconfig得到的為區域網ip。電腦直接撥號連線等,則本機通過ipconfig得到的就是外網ip。get ip int getlocalip std string local ip int getinter...

內網和外網之間的通訊

對於初學者而已,我們學習的網路程式設計 如tcp,udp程式設計 我們通常都是在區域網內進行通訊測試,有時候我們或者會想,我們現在寫的內網網路資料和外網的網路資料有什麼不同,我們內網的資料是如何走出外網的呢?公有 ip 和私有 ip 的區別 首先,我們需要了解一下什麼是公有 ip 和私有 ip 公有...

網域名稱內網解析和外網解析

1 有時候我們通過cmd中的nslookup去解析相同的網域名稱,得到的ip為不同值,這個原因很大可能是你公司有內網dns和外網dns,當你設定本地機器為內網dns時,解析到的是內網的位址,設定為外網dns時,解析到的是外網的位址。比如 192.168.4.251為你的內網dns,則通過 nsloo...