安卓仿真器到LocalHost连接超时

尽管在StackOverflow中已多次问过此问题,但我经历了很多次,但仍然无法解决问题,或者无法找出问题的根本原因。因此,发布一个新问题。

以下是我浏览过的链接列表-

  • How to connect to my http://localhost web server from Android Emulator in Eclipse
  • Accessing localhost:port from Android emulator
  • How can I access my localhost from my Android device?
  • how to connect localhost in android emulator?

这是我的代码-

protected Void doInBackground(Void... params)

{

try

{

HttpURLConnection connection = null;

URL url = new URL("http://10.0.2.2:8080/android_connect/user_registration.php");

connection = (HttpURLConnection)url.openConnection();

connection.setDoOutput(true);

connection.setDoInput(true);

connection.setRequestMethod("POST");

connection.setUseCaches(false);

connection.setConnectTimeout(720000000);

connection.setReadTimeout(72000000);

connection.connect();

OutputStreamWriter output = new OutputStreamWriter(connection.getOutputStream());

output.write(emp_details.toString());

output.flush();

output.close();

HttpResult = connection.getResponseCode();

connection.disconnect();

}

catch(Exception e)

{

e.printStackTrace();

}

return null;

}

我正在尝试通过WAMP服务器使用PHP将Android与MySQL数据库连接。 PHP文件(user_registration.php)被保存在以下路径中-

C:\wamp\www\android_connect

现在执行代码后,我收到类似“ java.net.SocketTimeoutException:720000000ms后无法连接到/10.0.2.2(端口8080)的错误:isConnected失败:ETIMEDOUT(连接超时)”。

我通过了特定的链接以解决此问题-

Android connection to localhost

但是不明白它是如何解决的! :)

在这种情况下,您能帮我吗?请注意,我使用的是Android Studio。

提前致谢!

最佳答案

从Android到计算机建立连接仅在Google Android虚拟设备上与10.0.2.2一起使用。 Android虚拟设备正在监听10.0.2.2,并将所有请求转发到您的计算机。

Genymotion Android虚拟设备正在监听10.0.2.3,并将这些请求转发到您的计算机。

10.0.2.2无法在您的实际Android设备上使用。如果要在实际设备上使用它,则必须设置计算机的IP,如先前答案所建议的那样。

以上是 安卓仿真器到LocalHost连接超时 的全部内容, 来源链接: www.h5w3.com/122395.html

回到顶部