我在本地主机上运行了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,而不是localhost
或127.0.0.1
您必须使用例如192.168.1.2
(您计算机的IP),如果您使用的是模拟器,则应使用10.0.2.2
作为IP地址进行连接。