2016-12-03 49 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()按預期工作。

相關問題