【问题标题】:Failed Connect Local Host (Desktop) [closed]连接本地主机(桌面)失败[关闭]
【发布时间】:2021-11-27 13:10:20
【问题描述】:

您好,使用改造 api 调用方法,但使用本地 IP 地址仍然没有得到正确的响应。如果我在邮递员中测试,我得到了正确的 json 响应,但在 android studio 中我面临这个连接问题。

错误...> HTTP FAILED:java.net.SocketTimeoutException:在 60000 毫秒后无法从 /192.168.1.54(端口 58978)连接到 /192.168.1.52(端口 5000):isConnected 失败:ETIMEDOUT(连接超时)

【问题讨论】:

  • 你在 Retrofit 中放的 ip 是什么?你用的是模拟器还是真机?
  • 我在改造中使用本地主机 IP 地址 (192.168.1.52:5000)。并且正在使用真实设备。设备和系统都连接在同一个网络中

标签: java android api android-studio retrofit


【解决方案1】:

我之前遇到过这个问题,我记得如果您的服务器与应用程序在同一个网络中运行,您需要使用 10.0.2.2:{PORT} 或笔记本电脑网络 IP(如果您在真实环境中运行它)设备)。

所以你的端点应该是:

//For real device
private const val BASE_URL = "http://192.168.1.51:5000/"
//For emulator
private const val BASE_URL = "http://172.0.2.2:8080/"

请检查您的防火墙是否有问题,有时您必须允许访问(重新启动 PC 就足以知道是否是问题所在)

【讨论】:

  • 你更正......在真实设备中使用,你所说的只使用了BASE_URL =“192.168.1.52:5000......”但无法连接......请您尝试提供任何其他想法来解决此问题
  • 您使用的是 http:// 吗?还有最后一个“/”?
  • Yaa 在 http // 和最后 / 之后使用相同的兄弟
  • 今天终于它的工作兄弟在防火墙询问允许访问权限时启动 pc 我给了它现在工作的权限 Json 响应带有状态码 200,谢谢兄弟。为了您的支持
【解决方案2】:

可能是您电脑上的防火墙阻止了连接。

或者您已将服务器绑定到 localhost/127.0.0.1。

不要将您的服务器绑定到 IP 地址。

【讨论】:

  • 正是兄弟,今天早上终于启动我的电脑防火墙会询问访问权限给定允许它工作,并获得 200 状态的 json 响应。
猜你喜欢
  • 1970-01-01
  • 2014-01-07
  • 1970-01-01
  • 2018-08-31
  • 2013-08-07
  • 2017-12-24
  • 2014-01-16
  • 2020-04-19
  • 1970-01-01
相关资源
最近更新 更多