安卓应用无法通过4G连接到本地主机



我在本地主机上运行了Apache服务器,当我的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

服务器应如何以不同的方式配置,以允许电话在本地网络中发送和接收消息?

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