我正在创建一个需要在PC上与localhost
连接的应用。它可以与模拟器一起工作,但是在我的真实设备中尝试它时会抛出异常:
org.apache.http.conn.HttpHostConnectException: Connection to http://192.168.XX.XX:8090 refused, network host unreachable etc etc
其中8090
是我的Apache Tomcat运行的端口,192.168.xx.xx
是我的电脑的IP地址。我尝试过很多东西,但都没有用。我也使用USB连接而不是wifi从设备访问localhost。
请帮忙!!!!感谢
答案 0 :(得分:0)
您是否查看了Stackoverflow链接的类似问题,例如Cannot access localhost from Android device或How can I access my localhost from my Android device??
这个问题没有一个答案,可能会有很多不同的问题。您没有列出您尝试排除的内容。 此外,您可以粘贴实际错误而不删除技术细节吗?您可以省略堆栈跟踪。你可以添加连接线吗?
作为第一步,由于消息显示“网络主机无法访问”,您应该检查您的手机是否可以访问您的计算机。尝试使用手机的浏览器导航到http://192.168.XX.XX:8090
,如果成功,可能是您的应用中存在问题(代码,权限等)。
如果失败,则会有更多子请求,这些是一般网络疑难解答问题:
- 手机确实可以达到你电脑的IP吗?如是:
- 网络服务器是否监听外部连接?如是:
- 什么阻止了手机和网络服务器之间的连接?是否涉及防火墙?对于这个,了解网络如何在“内部”工作,也就是说,哪些节点应该将数据包中继到另一端,将告诉您哪些节点可能无法正常工作。 (使用USB连接,这是两个主机本身)。
也许你做了一些实验并排除了其中的一些假设。如果是这样,描述这些实验会很有帮助。如果你没有这样做,并且你想学习更好地排除故障,你可能会研究用于排除故障的科学方法(谷歌“排除科学方法的麻烦”,有几篇看起来很有帮助的文章,如this)。 / p>
答案 1 :(得分:0)
可能是您的清单文件已损坏。即使我得到同样的错误;当我仔细检查我的logcat时,我发现某些权限无法识别'。 因此,检查您的清单权限,或重新编写它们,它将解决您的问题。