2011-03-11 121 views
1

设备确实具有网络连接(WiFi和3G)。gethostbyname失败,出现错误111(ECONNREFUSED)

调用gethostbyname()返回NULL与errno 111(ECONNREFUSED)。

相同的调用在osx和windows上工作正常。

可能是什么问题?

最佳,

+0

也看到了这一点,并将errno 13(EACCES) - 权限被拒绝,这也是通过添加INTERNET权限解决。 – WilliamKF

回答

2

您应该添加在你的AndroidManifest.xml中使用Internet的权限:

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

的问题是最有可能是没有或错误配置的DNS服务器您的设备上设置。一定要检查一下。这可能是本地WiFi网络的问题 - 可能没有本地DNS服务器。

也许你也可以尝试禁用WiFi,因为DNS解析应该在你的移动网络中自动工作。

0

ECONNREFUSED意味着你的设备上DNS解析器可以试图故障转移到TCP/IP(而不是UDP),因为答案是太长,无法在正常的UDP响应数据包。

如果配置的DNS服务器不支持TCP上的入站DNS请求,则会出现该错误。

客户端应用程序通常无法从UDP套接字获取ECONNREFUSED,因为它们是无状态的。

相关问题