卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

如何適配IPv6網(wǎng)絡(luò)環(huán)境?

自2016年6月1日起,蘋果公司強(qiáng)制所有的App必須支持純IPv6網(wǎng)絡(luò)環(huán)境。這項(xiàng)措施將對IPv6網(wǎng)絡(luò)的普及起到一定的推動作用,并體現(xiàn)了Apple作為國際大廠的擔(dān)當(dāng)。本文將給出一些適配IPv6網(wǎng)絡(luò)環(huán)境的

自2016年6月1日起,蘋果公司強(qiáng)制所有的App必須支持純IPv6網(wǎng)絡(luò)環(huán)境。這項(xiàng)措施將對IPv6網(wǎng)絡(luò)的普及起到一定的推動作用,并體現(xiàn)了Apple作為國際大廠的擔(dān)當(dāng)。本文將給出一些適配IPv6網(wǎng)絡(luò)環(huán)境的方法。

高級API vs. 底層API

首先,我們需要知道在iOS開發(fā)中,有高級API和底層API兩種類型的網(wǎng)絡(luò)庫。高級API已經(jīng)封裝了底層適配IPv6的工作,使用起來更加方便,同時(shí)也避免了產(chǎn)生過多的bug。相反,使用底層API會讓自己承擔(dān)更多的工作量并且容易出現(xiàn)bug。

圖示展示了藍(lán)色部分的API不存在兼容性問題,而我們平時(shí)自己用的包括第三方的網(wǎng)絡(luò)庫大部分都是用的這些API。因此,在大多數(shù)情況下,我們可以使用高級API完全滿足我們的需求。

如果你確實(shí)需要使用底層的POSIX socket API,請參考RFC4038: Application Aspects of IPv6 Transition的指導(dǎo)。例如,nodename參數(shù)不應(yīng)該傳IP地址,而應(yīng)該使用域名。

搭建IPv6測試環(huán)境

最好的學(xué)習(xí)方法就是親身實(shí)踐。那么,如何搭建一個IPv6測試環(huán)境呢?只需要一臺用非Wi-Fi方式上網(wǎng)的Mac電腦即可。接下來,我們將教您如何搭建測試環(huán)境:

1. 使用Mac做一個熱點(diǎn),并用iPhone連接這個Wi-Fi。

2. 產(chǎn)生的是一個本地的IPv6 DNS64/NAT64網(wǎng)絡(luò),這是OS X 10.11新增的功能。在“System Preferences”界面選中“Sharing”的同時(shí),要按住“Option”鍵。

3. 在“Sharing”界面中,我們會看到“Create NAT64 Network”的選框,選中它。

4. 搜一下工程里有沒有下面的API,這些都是只針對IPv4做處理的,有的話就刪了。

5. 具體的對應(yīng)字段可參考圖示。

DNS64和NAT64的重要性

在適配IPv6網(wǎng)絡(luò)環(huán)境時(shí),最重要的兩個概念是DNS64和NAT64。我們通常使用getaddrinfo函數(shù)來解析host。但是,如果端口號部分的輸入?yún)?shù)是數(shù)字類型,會導(dǎo)致返回的結(jié)果里端口號被修改。修改辦法是在DNS query結(jié)果里手動將端口號再改回?;蛘?,您可以跳過DNS查詢,直接自己將IPv4的地址轉(zhuǎn)化成IPv6的地址。

總結(jié)

通過本文的介紹,我們知道了蘋果從2016年6月1號開始,強(qiáng)制所有app必須支持純IPv6的網(wǎng)絡(luò)環(huán)境。我們也了解到了高級API和底層API兩種類型的網(wǎng)絡(luò)庫,并了解到了如何搭建IPv6測試環(huán)境。最后,我們明白了DNS64和NAT64的重要性以及如何適配IPv6網(wǎng)絡(luò)環(huán)境。

標(biāo)簽: