java.net.ConnectException:10000 毫秒后无法连接到 /192.168.1.107(端口 80):isConnected 失败:EHOSTUNREACH(没有到主机的路由)

java.net.ConnectException: failed to connect to /192.168.1.107 (port 80) after 10000ms: isConnected failed: EHOSTUNREACH (No route to host)

我正在尝试将我的 REST API 从本地主机连接到 android 应用程序。 我在 Windows 上使用 xampp 作为我的 apache 服务器。当我尝试通过 Postman 使用此 link 从我的计算机获取时,其余 api 正常工作:

http://127.0.0.1/RightBoard/Web/right-board/public/api/login

在 android 设备上,我正在尝试使用 Volley 获取响应。这是我的代码:

fun post(url: String, params: MutableMap<String, String>, listener: ResponseListener, token: String = "") {
    val request = object : StringRequest(
            Request.Method.POST,
            url,
            Response.Listener<String> {
                listener.onResponseReceived(JSONObject(it))
            },
            Response.ErrorListener {
                it.printStackTrace()
                if (it.networkResponse?.data != null) {
                    val json = JSONObject(it.networkResponse.data.toString(Charsets.UTF_8))
                    Log.e(Keys.TAG, json.toString())
                }
            }
    ) {
        override fun getParams(): MutableMap<String, String> {
            return params
        }

        override fun getHeaders(): MutableMap<String, String> {
            val headers = HashMap<String, String>()
            headers["Authorization"] = "Bearer $token"
            return headers
        }
    }
    request.retryPolicy = DefaultRetryPolicy(
            10000,
            DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
            DefaultRetryPolicy.DEFAULT_BACKOFF_MULT
    )
    VolleySingleton.instance?.addToRequestQueue(request)
}

url 是 http://192.168.1.107/RightBoard/Web/right-board/public/api/login,我从 ipconfig 得到 IP="192.168.1.107"。但现在我收到了这个错误:

java.net.ConnectException: failed to connect to /192.168.1.107 (port 80) after 10000ms: isConnected failed: EHOSTUNREACH (No route to host)

我检查过 phone 和计算机都在同一个 wifi 中。我 运行 另一个 phone 中的应用程序。我什至尝试重新启动计算机并 xampp... 但每次都出现相同的错误。 我也在我的应用程序中使用了权限:

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

我找到了解决方案。 我禁用了 Windows Defender 防火墙(在我的网络处于活动状态的私人部分)

通过检查命令提示符 (ipconfig) 来设置 ip 地址到您的 .class, Httppost url=("http://192.168.0.116/something.php") 并将您的手机连接到与您相同的 wifi 地址系统 ip 地址,只需重新启动您的手机就可以了。