国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Android 指定網(wǎng)絡(luò)接口收發(fā) Socket 數(shù)據(jù)

wangbinke / 1383人閱讀

摘要:用于標識所在多播組的本地接口。其中都是網(wǎng)絡(luò)接口的唯一標識符號。運行程序,通過抓包后顯示發(fā)送成功,并抓到了返回數(shù)據(jù)黑色標記行為發(fā)送數(shù)據(jù),橙色標記行為接收數(shù)據(jù)。

上次寫了一篇 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ò)接口。

指定網(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)口
List interfaces = 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

相關(guān)文章

  • PHP 網(wǎng)絡(luò)編程小白系列 —— Socket 編程入門

    摘要:在這個時刻,服務(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ò)編程中...

    DevWiki 評論0 收藏0
  • TCP 協(xié)議簡單說明

    摘要:網(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...

    cfanr 評論0 收藏0
  • 如何通過命令行工具去理解網(wǎng)絡(luò)協(xié)議

    摘要:收發(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ò)功能五層。 每一層...

    I_Am 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<