iOS应用兼容IPv6

2025-05-24 17:28:10

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

iOS应用兼容IPv6

3、最后我们来搭一个IPv6的测试环境鲷薯恢罢吧,你所需要的就是一台用非Wi-Fi的方式上网的Mac电脑。我们的要做的其实就是用Mac做一个热点,然后用iPhone连接这个Wi-Fi,听起恝依在绌来很容易,我相信大家在公司就是这么干的吧。区别是这次我们产生的是一个本地的IPv6 DNS64/NAT64网络,这项功能是OS X 10.11新加的。和我们以前开启热点方式不一样的地方在于,我们在“System Preferences”界面选中“Sharing”的同时,要按住“Option”键。

iOS应用兼容IPv6

5、搜一下工程里有没有下面的这些API,这些都是只针对IPv4做处理的,有的话就删了。具体的对应字段为如图, 大家一定要查一查

iOS应用兼容IPv6

7、我们一般使用getaddrinfo函数来解析host,如果端口号部分的入参是数字类型,会导致返回的结果里端口号被修改,当然socket就没法连成功啦。修改办法是在DNS query结果里手动将端口号再改回。getaddrinfo(ipv4_str, @(port).stringValue.UTF8String, &hints, &res0);另一个办法是跳过DNS查询,直接自己将IPv4的地址转化成IPv6的地址。类似这样:const char* ipv4mapped_str ="64:ff9b::121.43.xx.xxx";

iOS应用兼容IPv6
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢