H5W3
当前位置:H5W3 > Andriod > 正文

安卓仿真器到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,如先前答案所建议的那样。

本文地址:H5W3 » 安卓仿真器到LocalHost连接超时

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址