美文网首页
有关ipv6 相关问题的处理

有关ipv6 相关问题的处理

作者: 小可蛮 | 来源:发表于2017-02-13 20:19 被阅读18次

    1.不建议使用底层的网络API

    下图展示的蓝色部分的这些API都是不存在兼容性问题的,而我们平时自己用的包括那些第三方的网络库大部分都是用的这些API。大部分情况下,我们用高级的API完全能够实现我们的需求,而且高级API封装的很便于使用,很多底层的像适配IPv6的工作都已经帮我们做好了。而用底层API会有大量的工作要我们自己来做,更容易产生bug。但你如果确实需要用底层的POSIX socket API

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

    这个方法在著名的Reachability中是用到的,我们常用的网络库AFNetworking就用了这个。所以用到的同学得好好查一下了,另外这个项目的作者几天前刚刚就这个问题有一个新的提交,不过最新的release版本中还没有加进去,可以点下面链接先去看看他都改了哪些地方。

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

    inet_addr()

    inet_aton()

    inet_lnaof()

    inet_makeaddr()

    inet_netof()

    inet_network()

    inet_ntoa()

    inet_ntoa_r()

    bindresvport()

    getipv4sourcefilter()

    setipv4sourcefilter()

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

    测试时,配置一台非wifi连接的Mac,使用iphone连接即可。

    本文只是我的一个总结,摘自http://www.cocoachina.com/ios/20160523/16385.html.

    相关文章

      网友评论

          本文标题:有关ipv6 相关问题的处理

          本文链接:https://www.haomeiwen.com/subject/spytwttx.html