【问题标题】:getaddrinfo() failing in Android?getaddrinfo() 在 Android 中失败?
【发布时间】:2010-08-06 19:44:37
【问题描述】:

我正在使用 Android NDK 构建链构建一个 C 库。一切正常,但以下部分引起了问题:

#include <netdb.h>
...
    struct addrinfo* addr_result;

    struct addrinfo hints;
    memset(&hints, 0, sizeof(hints));
    hints.ai_family = AF_INET;
    hints.ai_socktype = SOCK_STREAM;
    hints.ai_protocol = IPPROTO_TCP;

    LOGD("host name: %s", name);
    result = getaddrinfo(name, GCSL_NULL, &hints, &addr_result);
    LOGD("result: %d", result);

getaddrinfo 返回错误代码 7,它转换为“EAI_NODATA”。

我尝试将“名称”强制为“www.google.com”和“http://www.google.com”等简单的网址,但没有任何效果。

我正在使用模拟器进行调试,它通常能够从其他应用程序连接到 Internet。

【问题讨论】:

    标签: android sockets android-ndk


    【解决方案1】:

    确保您在 AndroidManifest.xml 中具有 INTERNET 权限。

    【讨论】:

      【解决方案2】:

      看起来这可能是由模拟器 DNS 错误引起的:

      http://groups.google.com/group/android-developers/browse_thread/thread/b04537d827c4f9e1

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多