【问题标题】:dnsjava and Androiddnsjava 和安卓
【发布时间】:2015-11-23 05:18:43
【问题描述】:

我有一个 Android 应用程序,我正在尝试向其中添加 DNS SRV 记录检测。我知道这是可能的,基于我已经安装的 DNS Lookup 等应用程序的存在,它工作得很好。

我正在使用 dnsjava,并且此代码在我的机器上作为独立 Java 应用程序运行良好,但是当我在我的 Android 设备上运行它时,我只是收到“错误!”留言:

Lookup lookup = new Lookup(serviceName, Type.SRV, DClass.IN);
Resolver resolver = new SimpleResolver();
lookup.setResolver(resolver);
lookup.setCache(null);
Record[] records = lookup.run();
if (lookup.getResult() == Lookup.SUCCESSFUL) {
    String responseMessage = null;
    String listingType = null;
    for (int i=0; i < records.length; i++) {
        if (records[i] instanceof SRVRecord) {
            listingType = ((SRVRecord) records[i]).toString()
        }
    }

    System.out.println("Found!");
    System.out.println("Response Message: "+responseMessage);
    System.out.println("Listing type: "+listingType);
} else if (lookup.getResult() == Lookup.HOST_NOT_FOUND) {
    System.out.println("Not found.");
} else {
    System.out.println("Error!");
}

任何想法为什么这不起作用?

【问题讨论】:

    标签: android dnsjava


    【解决方案1】:

    在 Android 中使用非常不同的设置进行 SRV 查找;我发现他们总是以“未找到”失败,除非我将以下内容添加到我的 Android 清单中:

    <uses-permission android:name="android.permission.INTERNET" />
    

    【讨论】:

      【解决方案2】:

      我不能发表评论——否则我会。

      多做一些 else if 语句,例如:

      else if (lookup.getResult() == Lookup.HOST_NOT_FOUND) {
                          System.out.println("Not found.");
                      } else if (lookup.getResult() == Lookup.TRY_AGAIN) {
                          System.out.println("Error!1");
                      }  else if (lookup.getResult() == Lookup.TYPE_NOT_FOUND) {
                          System.out.println("Error!2");
                      } else if (lookup.getResult() == Lookup.UNRECOVERABLE) {
                          System.out.println("Error!3");
                      }
      

      另外,尝试更改:DClass.IN to DClass.ANY

      【讨论】:

        猜你喜欢
        • 2012-01-22
        • 2014-05-26
        • 2011-05-17
        • 2011-03-08
        • 2012-10-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多