美文网首页
iOS -- ipv4 ipv6地址与环境

iOS -- ipv4 ipv6地址与环境

作者: DSA碼侬 | 来源:发表于2017-04-21 13:57 被阅读302次

关于网上ipv6环境的配置有很多,可以搜一下。
eg: http://www.jianshu.com/p/49442934b81d

(注: 本文章前提是利用了httpdns,利用阿里云提供的方法,解析到ip再去访问后台数据)

ipv4地址: 域名通过httpdns解析后得到的是以“ . ”分割的ip地址
ipv4环境:当前使用的网络ip是以“ . ”分割的
ipv6地址:域名通过httpdns解析后得到的是以“ : ”分割的ip地址
ipv6环境:当前使用的网络ip是以“ : ”分割的

在此说下遇到的其他问题:

1、在AFN正常访问后台数据的时候,会有一个urlStr的拼接。

stringByAppendingString:在ipv4和ipv6下 都是可以访问到数据的
stringByAppendingPathComponent:在ipv4下访问正常,在ipv6下访问失败

so,ipv6地址在ipv6环境下,stringByAppendingPathComponent改成stringByAppendingString才是可以的。

2、环境切换问题

ipv4地址在ipv4 ipv6环境下均可正常访问,
ipv6在ipv6环境下正常在ipv4环境下访问失败;
报错error为
A server with the specified hostname could not be found:

error.png

在网上查了一下,说是不能直接切换,需要搞什么隧道,不是很懂。如果从程序启动只是在ipv6环境下运行app是正常的。在网上也搜索到说是尽量用域名不要用ip:so,在判断使用域名与ip的时候,如果是ipv6环境使用的就是域名访问。

3、WKWebview访问失败以及解决办法

首先判断是否执行方法- (void)webView:(WKWebView *)webView didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition, NSURLCredential * _Nullable))completionHandler;
(不执行的话 通过httpdns获得的ip访问数据失败)
ipv4地址在ipv4环境下执行这个授权方法
ipv4地址在ipv6环境下也执行这个方法

ipv6地址在ipv6环境下不执行
ipv6地址在ipv4环境下不执行

so ipv6环境下用域名访问webview。

判断当前网络是ipv4还是ipv6:
http://download.csdn.net/download/qq_15509071/9743137

注明:以上均是真机测试。模拟器好像有点不同,比如ipv4地址在ipv6环境下 运行,真机可行,模拟器访问失败。

相关文章

  • 搭建IPV6测试环境

    搭建环境前先对IPv4 和 IPv6有个大致了解: IPv4 和 IPv6的直观区别就是 IP 地址前者是 .(d...

  • ip地址结构

    sockaddr 与 sockaddr_in 都是用于表示ip地址的结构(包含ip地址类型(ipv4/ipv6),...

  • IPv6地址

    前言 常用的IP协议版本有IPv4和IPv6,前面介绍了IPv4地址,本文介绍IPv6地址。IPv6是为了解决32...

  • IOS 获取手机的ip地址

    获取Ipv4地址 获取Ipv6地址

  • IPv6地址类型

    IPv6主要有三种地址类型: 单播地址 组播地址 任播地址 IPv6与IPv4相比,增加了任播地址,取消了广播地址...

  • Internet地址结构

    IPv4 & IPv6 表示 IP 地址有两种标准:IP版本4 (IPv4) 和 IP版本6 (IPv6)。所有有...

  • IPv6应用:群晖自家DDNS仅解析IPv6地址以加速访问

    宽带支持ipv6后,群晖自家的DDNS会同时更新ipv4和ipv6地址,但更新的ipv4地址是NAT服务器的地址,...

  • iOS一图兼容IPV6问题

    一、IPv6协议解读 IPv6是对IPv4地址空间的扩充。 目前用iOS设备连接Wifi、3/4G网络时,设备被分...

  • iOS -- ipv4 ipv6地址与环境

    关于网上ipv6环境的配置有很多,可以搜一下。eg: http://www.jianshu.com/p/4944...

  • IPv6的随记

    一、什么是IPV6 首先IPV6,是对IPV4地址空间的扩充。目前当我们用iOS设备连接上Wifi、4G、3G等网...

网友评论

      本文标题:iOS -- ipv4 ipv6地址与环境

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