我走过的IPV6
我是刚接触iOS不太久的菜鸟,已经理解ipv6(以下简称v6)支持原理的大神可以直接略过了,这里主要是说下我的爬坑经历,尽管现在对于这块也是一知半解但是过程中经历的几个里程碑还是比较有借鉴意义的。
关于v6的原理网上很多也很乱,我当时刚看到的时候也是被搞的一脸懵比,很多小伙伴都是更换一下三方库改动一些设置就通过了,我们的程序不行,这里遇到第一个难题,我们的程序中使用的不是域名,我找了一份v4地址转v6地址的代码,判断当前网络环境,如果是v6就连接v6地址,如果v4同理,更改之后之间上架了一个版本,也有很多客户在使用。过了有一个月,一个青岛的客户说他们那边程序不能使用,他们的手机寄来我测试过是可以使用的,我就出差到青岛去解决问题,到的当天晚上我就发现在青岛检测网络环境的时候有问题,转换过来的地址是和在其他地方不一样的,这个时候我才知道有dns污染这一说,客户着急使用我就把ip地址写死暂时解决这个问题。我回来后又看了很多的帖子去了解这个ipv6的机制,真正起到作用的是塞尔新技术(北京)有限公司的一个ppt,上面描述了为什么很多公司会遇到苹果提供的net64网络可以测试通过,但是上架的时候会被打回原因为不支持ipv6,其实是因为我们使用的阿里云,京东云,百度云,本身是没有提供给我们域名对应的v6地址的,而我们要做的是在v6环境下找到v6地址并且在美国测试环境下去连接。
那么接下来方向就确定了,怎么让我们的服务器去支持ipv6,这个过程是根服务器不断的去尝试,期间前端做的事情比较少,总结起来是下面的这些改动
当服务器支持了这些之后,我们还需要解决一个问题,就是前面所说的dns污染问题,这里我是借鉴了一个帖子http://www.cocoachina.com/ios/20160617/16734.html,这里有一个解决v6环境下返回v4地址的问题。到这里基本问题就解决了,需要完整资料可以联系我526942037@qq.com,第一次写帖,见谅.