2016-12-03 113 views
0

当我tryed使用的getaddrinfo我有以下错误的getaddrinfo错误:节点名称也不servname提供,或者不知道

getaddrinfo error: nodename nor servname provided, or not known

这个错误是什么手段来获取DNS名称的IP地址? getaddrinfo是否有可能无法解析DNS名称? 但nslookup适用于此地址。我尝试调用没有端口的getaddrinfo,并且没有AI_NUMERICSERV标志,结果相同。

我的电话有什么问题? OS X 10.11 plaftorm。

这是示例代码

struct addrinfo hints, *servinfo; 
int rv; 

printf("hostname: %s port: %s ", hostname, port); 

memset(&hints, 0, sizeof hints); 
hints.ai_family = AF_UNSPEC; // use AF_INET6 to force IPv6 
hints.ai_flags=AI_DEFAULT|AI_NUMERICSERV; 
if ((rv = getaddrinfo(hostname , port , &hints , &servinfo)) != 0) 
{ 

} 

回答

1

问题用Mac OS X上的沙箱机构连接。 我忘记了我的应用程序是沙盒的事实。 确保您的授权文件中包含以下行。

<key>com.apple.security.app-sandbox</key> 
<true/> 
<key>com.apple.security.network.client</key> 
<true/> 
<key>com.apple.security.network.server</key> 
<true/> 

如果您的应用程序不是沙箱getaddrinfo()按预期工作。

相关问题