设备确实具有网络连接(WiFi和3G)。gethostbyname失败,出现错误111(ECONNREFUSED)
调用gethostbyname()返回NULL与errno 111(ECONNREFUSED)。
相同的调用在osx和windows上工作正常。
可能是什么问题?
最佳,
设备确实具有网络连接(WiFi和3G)。gethostbyname失败,出现错误111(ECONNREFUSED)
调用gethostbyname()返回NULL与errno 111(ECONNREFUSED)。
相同的调用在osx和windows上工作正常。
可能是什么问题?
最佳,
您应该添加在你的AndroidManifest.xml中使用Internet的权限:
<uses-permission android:name="android.permission.INTERNET"/>
的问题是最有可能是没有或错误配置的DNS服务器您的设备上设置。一定要检查一下。这可能是本地WiFi网络的问题 - 可能没有本地DNS服务器。
也许你也可以尝试禁用WiFi,因为DNS解析应该在你的移动网络中自动工作。
ECONNREFUSED
意味着你的设备上DNS解析器可以试图故障转移到TCP/IP(而不是UDP),因为答案是太长,无法在正常的UDP响应数据包。
如果配置的DNS服务器不支持TCP上的入站DNS请求,则会出现该错误。
客户端应用程序通常无法从UDP套接字获取ECONNREFUSED
,因为它们是无状态的。
也看到了这一点,并将errno 13(EACCES) - 权限被拒绝,这也是通过添加INTERNET权限解决。 – WilliamKF