【问题标题】:Android app cannot connect to localhost over 4GAndroid 应用无法通过 4G 连接到 localhost
【发布时间】:2015-02-03 05:33:23
【问题描述】:

我的 Apache 服务器在 localhost 中运行,而我的 android 应用程序在同一个 WiFi 网络上并且我的计算机 IP 地址可以定位服务器,该应用程序可以连接并发送消息。但是,如果我从应用内的 WiFi 切换到 4G,我将无法再连接到服务器并发送消息。

应用内的服务器地址:

Global ipAddress = new Global();
    private final String AUTHENTICATION_SERVER_ADDRESS = "http://"
            + ipAddress.getIpAddress() + ":4430/BackendDatabase/";

public String sendHttpRequest(String params) {
        URL url;
        String result = new String();
        try {
            url = new URL(AUTHENTICATION_SERVER_ADDRESS);
            HttpURLConnection connection;
            connection = (HttpURLConnection) url.openConnection();
            connection.setDoOutput(true);
      ...etc

应该如何对服务器进行不同的配置,以使手机不在本地网络中时可以发送和接收消息?

【问题讨论】:

    标签: android apache websocket localhost


    【解决方案1】:

    您无法使用 4G 连接到您的本地主机,因为它们不在同一个网络中。你应该 改用wifi。当使用wifi时,你应该使用你的电脑IP而不是localhost127.0.0.1你必须使用例如192.168.1.2(你电脑的IP),如果你使用模拟器,你应该使用10.0.2.2作为IP地址来连接.

    【讨论】:

    • 我要问的是现在我的应用程序可以工作了,我想转移到手机 4G 而不仅仅是 wifi。如何配置服务器以允许这样做?
    • 如果有帮助请接受我的回答。为此,您的服务器应该有静态 IP 地址,如果没有超过 4G 的静态 IP,您将无法访问您的计算机。
    • 那么我应该设置一个不在本地主机上而是由亚马逊托管的服务器吗?
    • 这就是你必须做的事情
    • 好的,如果您想更改答案并概述步骤,我可以将其标记为正确
    猜你喜欢
    • 1970-01-01
    • 2021-10-30
    • 2013-04-15
    • 1970-01-01
    • 2017-12-10
    • 2018-02-05
    • 2016-01-12
    • 2019-02-06
    • 1970-01-01
    相关资源
    最近更新 更多