全部产品
    HttpDns iOS : ipv6 相关问题与解答

HttpDns iOS : ipv6 相关问题与解答

更新时间:2020-02-03 10:24:02

  • 问题:SDK 是否支持 ipv6 访问,SDK 文档上所描述的 ipv6 环境具体指什么 ?
    • 回复:- SDK 支持 ipv6 是指 Apple 的 IPv6-Only 审核测试环境,「兼容苹果审核时所使用的 ipv6-only 环境」并能够通过审核; 并非真实的 IPv6 环境,关于 IPv6-Only 相关的资料可以参考: https://developer.apple.com/support/ipv6/

  • 问题:下面这个方法会不会自动区分 IPV4 和 IPV6 的地址返回 ?

    1. - (NSString *)getIpByHostAsyncInURLFormat:(NSString *)host;
  • 回复:不会 不一样的,getIpByHostAsyncInURLFormat 是适配 v6-only 网络环境,将 v4 地址转换为映射的 v6 mapped 的地址 。

    1. - (NSString *)getIPv6ByHostAsync:(NSString *)host;

    getIPv6ByHostAsync 这个是返回域名本身的 v6 地址,跟设备所处的网络环境没有关系 。


  • 问题 :在 IPv6-Only 环境下我应该怎么设置 ?
  • 回复:v6-only 不用设置,getIpByHostAsyncInURLFormat: 接口自动会做 map 的 。

  • 问题:下面这个不设置会影响审核吗 ?也就是说不用设置 enableIPv6 ?

    1. - (void)enableIPv6:(BOOL)enable;
  • 回复:不设置也支持苹果审核 。这个开关是主动使用我们提供的 v6 功能,是需要你们自己有 v6 的 ip 并且需要在控制台设置的 。这个由你们业务来确定 。

  • 问题 :HTTPDNS SDK 内部有对系统当前网络 IPv4/IPv6 双栈配置做检测吗 ?如果系统当前网络栈在 IPv4 Only 的环境中,请求 IPv6 IPs 相关接口仍然会返回解析结果吗 ?反过来,如果系统当前网络栈在 IPv6 Only 的环境中,请求 IPv4 IPs 相关接口仍然会返回解析结果吗?结果会做 DNS64 合成吗?

  • 回复 :

  1. - (void)enableIPv6:(BOOL)enable;
  2. @param enable 是否开启 ,默认为 NO , 开启 IPv6 结果解析,
  3. 开启后调用 getIPv6ByHostAsync: 接口使用 .
  4. - (NSString *)getIPv6ByHostAsync:(NSString *)host;
  5. @param host 解析域名 @return IPv6解析结果,若没有IPv6地址,则返回 nil
  6. 异步解析域名,返回 IPv6 地址 开启 IPv6 结果解析后,若域名存在 IPv6 地址,则返回 IPv6 解析 结果 .
  7. 例:域名:ipv6.sjtu.edu.cn
  8. IPv4地址:202.120.2.47
  9. IPv6地址:2001:da8:8000:1:0:0:0:80
  10. 解析成功后接口返回结果:2001:da8:8000:1:0:0:0:80
  11. 【注意】开启 IPv6 结果解析后,SDK IPv6-Only 网络环境下,
  12. IPv4 解析结果不再自动转换为 IPv6 地址,
  13. getIpsByHostAsync: 返回 IPv4 地址,getIPv6ByHostAsync: 返回 IPv6 地址 .