ios服务器需要开启ipv6的支持,针对iOS审核要求为应用兼容IPv6
開(kāi)發(fā)中使用IPv6的好處
1、IPv6:避免了網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)
2、通過(guò)網(wǎng)絡(luò)通過(guò)使用簡(jiǎn)化的頭提供了更快的路由
3、防止網(wǎng)絡(luò)分段
4、避免廣播鄰居地址解析
不建議使用底層的網(wǎng)絡(luò)API
下圖展示的藍(lán)色部分的這些API都是不存在兼容性問(wèn)題的,而我們平時(shí)自己用的包括那些第三方的網(wǎng)絡(luò)庫(kù)大部分都是用的這些API。
大部分情況下,我們用高級(jí)的API完全能夠?qū)崿F(xiàn)我們的需求,而且高級(jí)API封裝的很便于使用,很多底層的像適配IPv6的工作都已經(jīng)幫我們做好了。而用底層API會(huì)有大量的工作要我們自己來(lái)做,更容易產(chǎn)生bug。PS:系統(tǒng)自帶的網(wǎng)絡(luò)類(lèi)已經(jīng)支持了IPv6我們只需放心使用就好,例如NSURLSession等。
不要直接使用IP地址
比如下面這個(gè)API,nodename這個(gè)參數(shù)不要傳IP地址,而應(yīng)該用域名
這個(gè)方法在著名的第三方Reachability中是用到的,我們常用的第三方網(wǎng)絡(luò)庫(kù)AFNetworking就用了這個(gè)。所以用到的同學(xué)得好好查一下了。
檢查不兼容IPv6的代碼
搜一下工程里有沒(méi)有下面的這些API,這些都是只針對(duì)IPv4做處理的,有的話就刪了。
inet_addr()
inet_aton()
inet_lnaof()
inet_makeaddr()
inet_netof()
inet_network()
inet_ntoa()
inet_ntoa_r()
bindresvport()
getipv4sourcefilter()
setipv4sourcefilter()
如果用到了下面左邊的這些IPv4的類(lèi)型,那么它們相應(yīng)的IPv6類(lèi)型也需要做處理
本地搭建IPv6測(cè)試環(huán)境
最后我們來(lái)搭一個(gè)IPv6的測(cè)試環(huán)境吧,你所需要的就是一臺(tái)用非Wi-Fi的方式上網(wǎng)的Mac電腦。
我們的要做的其實(shí)就是用Mac做一個(gè)熱點(diǎn),然后用iPhone連接這個(gè)Wi-Fi,聽(tīng)起來(lái)很容易。區(qū)別是這次我們產(chǎn)生的是一個(gè)本地的IPv6 DNS64/NAT64網(wǎng)絡(luò),這項(xiàng)功能是OS X 10.11新加的。和我們以前開(kāi)啟熱點(diǎn)方式不一樣的地方在于,我們?cè)凇跋到y(tǒng)偏好設(shè)置”界面選中“分享”的同時(shí),要按住“Option”鍵。
1.先確保你的Macbook非Wi-Fi方式連接到網(wǎng)絡(luò)
2.在系統(tǒng)偏好設(shè)置中,按住鍵盤(pán)上的option鍵,并點(diǎn)擊“共享”,“共享”功能是在10.11版本新添加的。
PS:一定要按住option鍵,如果你在下面的步驟中沒(méi)有看到“創(chuàng)建NAT64網(wǎng)絡(luò)“勾選框,就回到這一步,按住option鍵
共享
3.在左側(cè)的共享服務(wù)列表中選擇“互聯(lián)網(wǎng)共享”,并勾選“創(chuàng)建NAT64網(wǎng)絡(luò)”
4.選擇已經(jīng)連接到的網(wǎng)絡(luò),例如:以太網(wǎng);并勾選Wi-Fi
NAT64網(wǎng)絡(luò)
5.點(diǎn)擊“Wi-Fi 選項(xiàng)”按鈕,設(shè)置Wi-Fi的名字和安全設(shè)置。
Wi-Fi
6.勾選左側(cè)列表中的“互聯(lián)網(wǎng)共享”,這樣就啟用了互聯(lián)網(wǎng)共享。
互聯(lián)網(wǎng)共享
7.完成上面的設(shè)置后,在菜單欄上可以看到原來(lái)Wi-Fi圖標(biāo)上有個(gè)向上的箭頭,這表示共享連接已經(jīng)打開(kāi)。現(xiàn)在你就可以使用IPv6的網(wǎng)絡(luò)
現(xiàn)在我們用iPhone連接上這個(gè)剛創(chuàng)建好的熱點(diǎn)就可以測(cè)試了,注意此時(shí)要把iPhone設(shè)成飛行模式,以保證只用Wi-Fi上網(wǎng)。
總結(jié)
以上是生活随笔為你收集整理的ios服务器需要开启ipv6的支持,针对iOS审核要求为应用兼容IPv6的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 中英翻译机c语言实验报告引言,课程设计-
- 下一篇: cmd输入pip报错_使用Pip管理Py