移动域名解析HTTPDNS

    3.解析接口

    3.1 解析接口的返回值类型

    • 说明:使用BDHttpDnsResult类型对解析结果进行封装
    • 方法:

      • int getResolveStatus();

        • 说明:域名解析结果的状态码,可能取值为:

          状态码取值 说明
          STATUS_OK 解析成功
          STATUS_ERR_CACHE_MISS 由于cache未命中导致的解析失败,仅在解析时指定cache only标志时有效
          STATUS_ERR_DNS_RESOLVE dns解析失败
      • int getResolveType();

        • 说明:域名解析结果的来源,可能取值为:

          解析来源类型取值 说明
          RESOLVE_NONE 没有有效的解析结果
          RESOLVE_FROM_HTTPDNS_CACHE 解析结果来自httpdns cache
          RESOLVE_FROM_HTTPDNS_EXPIRED_CACHE 解析结果来自过期的httpdns cache
          RESOLVE_FROM_DNS_CACHE 解析结果来自dns cache
          RESOLVE_FROM_DNS 解析结果来自dns解析
      • ArrayList getIpv4List();

        • 说明:IPv4类型的域名解析结果列表,可能为null

    3.2 同步域名解析接口

    • 接口形式:BDHttpDnsResult syncResolve(String host, boolean cacheOnly);
    • 参数:

      • String host:待解析域名
      • boolean cacheOnly:是否仅使用HTTPDNS cache

        • 为True时,若HTTPDNS cache未命中,则接口返回空结果,此时接口表现为同步非阻塞接口
        • 为False时,若HTTPDNS cache未命中,则SDK继续进行DNS解析,此时接口表现为同步阻塞接口
    • 返回值:

      • 使用 BDHttpDnsResult封装的解析结果

    3.3 异步域名解析接口

    • 接口形式:void asyncResolve(String host, final BDHttpDns.CompletionHandler callback)
    • 参数:

      • String host:待解析域名
      • BDHttpDns.CompletionHandler callback:用户实现的异步回调接口,回调函数的参数为使用BDHttpDnsResult类型封装的解析结果

        • 回调接口定义为:

          public interface CompletionHandler {
          void completionHandler(BDHttpDnsResult result);
          }

    • 异常:

      • 如果SDK内部没有足够的线程处理异步请求,会抛出RejectedExecutionException异常
    上一篇
    2.设置接口
    下一篇
    4.使用建议