摘要:用于標識所在多播組的本地接口。其中都是網(wǎng)絡(luò)接口的唯一標識符號。運行程序,通過抓包后顯示發(fā)送成功,并抓到了返回數(shù)據(jù)黑色標記行為發(fā)送數(shù)據(jù),橙色標記行為接收數(shù)據(jù)。
指定網(wǎng)絡(luò)接口上次寫了一篇 Android Ping IPv6 地址的教程,這個工作的目的就是想通過 Volte 網(wǎng)絡(luò)發(fā)送 SIP 消息。但是 Android 默認的網(wǎng)絡(luò)環(huán)境是 Wifi、2G/3G/4G, 不會默認通過 Volte 網(wǎng)絡(luò)發(fā)送數(shù)據(jù)。因此需要通過一些方法來指定網(wǎng)絡(luò)接口。
首先介紹下 NetworkInterface 這個類
NetworkInterface 這個類表示由名稱組成的網(wǎng)絡(luò)接口和分配給這些網(wǎng)絡(luò)接口的 IP 地址列表。用于標識所在多播組的本地接口。
因此,Android 獲取所有網(wǎng)絡(luò)接口就可以通過 NetworkInterface 的 getNetworkInterfaces() 、 getInetAddress() 這個方法來實現(xiàn)
getNetworkInterfaces() 方法返回本機上的所有接口。枚舉至少包含一個元素,可能只顯示了一個本地回環(huán)接口。
getInetAddress() 方法返回綁定某個網(wǎng)絡(luò)接口下的所有 IP 地址。
NetworkInterface.getNetworkInterfaces() 在調(diào)試中顯示的結(jié)果如下
圖中可以看出所有的網(wǎng)口列表,展開第一個顯示了它的一些屬性。其中 name 、 interfaceIndex 都是網(wǎng)絡(luò)接口的唯一標識符號。
此時,如果我們需要指定網(wǎng)絡(luò)接口,就可以根據(jù)它的屬性來][1]實現(xiàn)。
例子:獲取 rmnet_data7 網(wǎng)口的 IPv6 地址
// 獲取所有網(wǎng)口 Listinterfaces = Collections.list(NetworkInterface.getNetworkInterfaces()); for(NetworkInterface iface : interfaces){ if(iface.getDisplayName().equals("rmnet_data7")){ // 判斷網(wǎng)口名稱 Enumeration nifAddresses = iface.getInetAddresses(); // 遍歷 rmnet_data7 下所有 IP 地址 while(nifAddresses.hasMoreElements()){ InetAddress ni = nifAddresses.nextElement(); Log.i("interface",ni.toString()); } } }
運行可以看到 log 中打印了 rmnet_data7 的 IP 地址
測試指定網(wǎng)口接下來看看數(shù)據(jù)到底是不是通過這個網(wǎng)絡(luò)接口發(fā)送出去了。
我通過代碼建立了一個 TCP 連接,然后發(fā)送數(shù)據(jù)給 SIP 服務(wù)器,由于這不是重點,我就不貼代碼了。
運行程序,通過 tcpdump 抓包后顯示發(fā)送成功,并抓到了返回數(shù)據(jù)
黑色標記行為發(fā)送數(shù)據(jù), 橙色標記行為接收數(shù)據(jù)。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/70034.html
摘要:在這個時刻,服務(wù)程序被驚醒并且為客戶提供服務(wù)對客戶的請求作出適當?shù)姆磻?yīng)。為了方便這種模型的網(wǎng)絡(luò)編程,年代初,由聯(lián)合了其他幾家公司共同制定了一套下的網(wǎng)絡(luò)編程接口,即規(guī)范,它不是一種網(wǎng)絡(luò)協(xié)議而是一套開放的支持多種協(xié)議的下的網(wǎng)絡(luò)編程接口。 這篇文章將會介紹一下 Socket 編程中相關(guān)的 PHP 函數(shù),并簡單實現(xiàn)一個 C/S 的交互 Socket 簡介 Socket 的官方解釋:在網(wǎng)絡(luò)編程中...
摘要:網(wǎng)絡(luò)層負責數(shù)據(jù)報的傳輸功能,相關(guān)的重要協(xié)議如協(xié)議等,它的傳送靠網(wǎng)卡驅(qū)動程序來提供。 本文章簡要的說明該協(xié)議的大概內(nèi)容,具體請百度哦! TCP協(xié)議分為四層【有的分七層】 圖片來源于德州儀器網(wǎng)卡芯片的datasheetshowImg(https://segmentfault.com/img/bVbtOPJ?w=728&h=421); showImg(https://segmen...
摘要:收發(fā)兩端的對等層通過協(xié)議進行通信。以查詢的網(wǎng)卡信息為例網(wǎng)絡(luò)診斷助手命令工具命令采用的協(xié)議允許主機或路由器報告差錯情況和提供有關(guān)異常情況的報告。 TCP/IP網(wǎng)絡(luò)分層模型 showImg(http://charl-image.oss-cn-hangzhou.aliyuncs.com/cmd-know-network/model.png); TCP/IP五層模型將網(wǎng)絡(luò)功能五層。 每一層...
閱讀 3574·2021-11-16 11:45
閱讀 2142·2021-11-08 13:23
閱讀 2227·2021-10-11 10:59
閱讀 2903·2021-09-27 13:36
閱讀 2492·2019-08-30 15:54
閱讀 2683·2019-08-29 16:58
閱讀 2799·2019-08-29 16:56
閱讀 1350·2019-08-26 13:52