我正在使用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“。
我尝试将"name“强制为"www.google.com”和"http://www.google.com“之类的简单urls,但都不起作用。
我正在使用模拟器进行调试,它通常能够从其他应用程序连接到Internet。
发布于 2011-03-31 08:45:51
看起来这可能是由仿真器DNS错误引起的:
http://groups.google.com/group/android-developers/browse_thread/thread/b04537d827c4f9e1
发布于 2012-09-17 20:50:22
确保您在AndroidManifest.xml中拥有互联网权限。
https://stackoverflow.com/questions/3427202
复制相似问题