ios服务器需要开启ipv6的支持,针对iOS审核要求为应用兼容IPv6

开发中使用IPv6的好处

1、IPv6:避免了网络地址转换(NAT)

2、通过网络通过使用简化的头提供了更快的路由

3、防止网络分段

4、避免广播邻居地址解析

不建议使用底层的网络API

下图展示的蓝色部分的这些API都是不存在兼容性问题的,而我们平时自己用的包括那些第三方的网络库大部分都是用的这些API。

f9b1d0bdc348

大部分情况下,我们用高级的API完全能够实现我们的需求,而且高级API封装的很便于使用,很多底层的像适配IPv6的工作都已经帮我们做好了。而用底层API会有大量的工作要我们自己来做,更容易产生bug。PS:系统自带的网络类已经支持了IPv6我们只需放心使用就好,例如NSURLSession等。

不要直接使用IP地址

比如下面这个API,nodename这个参数不要传IP地址,而应该用域名

f9b1d0bdc348

这个方法在著名的第三方Reachability中是用到的,我们常用的第三方网络库AFNetworking就用了这个。所以用到的同学得好好查一下了。

检查不兼容IPv6的代码

搜一下工程里有没有下面的这些API,这些都是只针对IPv4做处理的,有的话就删了。

inet_addr()

inet_aton()

inet_lnaof()

inet_makeaddr()

inet_netof()

inet_network()

inet_ntoa()

inet_ntoa_r()

bindresvport()

getipv4sourcefilter()

setipv4sourcefilter()

如果用到了下面左边的这些IPv4的类型,那么它们相应的IPv6类型也需要做处理

f9b1d0bdc348

本地搭建IPv6测试环境

最后我们来搭一个IPv6的测试环境吧,你所需要的就是一台用非Wi-Fi的方式上网的Mac电脑。

我们的要做的其实就是用Mac做一个热点,然后用iPhone连接这个Wi-Fi,听起来很容易。区别是这次我们产生的是一个本地的IPv6 DNS64/NAT64网络,这项功能是OS X 10.11新加的。和我们以前开启热点方式不一样的地方在于,我们在“系统偏好设置”界面选中“分享”的同时,要按住“Option”键。

1.先确保你的Macbook非Wi-Fi方式连接到网络

f9b1d0bdc348

2.在系统偏好设置中,按住键盘上的option键,并点击“共享”,“共享”功能是在10.11版本新添加的。

PS:一定要按住option键,如果你在下面的步骤中没有看到“创建NAT64网络“勾选框,就回到这一步,按住option键

f9b1d0bdc348

共享

3.在左侧的共享服务列表中选择“互联网共享”,并勾选“创建NAT64网络”

4.选择已经连接到的网络,例如:以太网;并勾选Wi-Fi

f9b1d0bdc348

NAT64网络

5.点击“Wi-Fi 选项”按钮,设置Wi-Fi的名字和安全设置。

f9b1d0bdc348

Wi-Fi

f9b1d0bdc348

6.勾选左侧列表中的“互联网共享”,这样就启用了互联网共享。

f9b1d0bdc348

互联网共享

7.完成上面的设置后,在菜单栏上可以看到原来Wi-Fi图标上有个向上的箭头,这表示共享连接已经打开。现在你就可以使用IPv6的网络

f9b1d0bdc348

现在我们用iPhone连接上这个刚创建好的热点就可以测试了,注意此时要把iPhone设成飞行模式,以保证只用Wi-Fi上网。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值