虽然这个问题在 StackOverflow 中被问过多次,我也经历过很多次,但我仍然无法解决我的问题,或者我无法找出问题的根本原因。因此,发布一个新问题。
以下是我浏览过的链接列表——
这是我的代码——
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: failed to connect to /10.0.2.2 (port 8080) after 720000000ms: isConnected failed: ETIMEDOUT (Connection timed out) ”这样的错误。
我浏览了特定链接以解决此问题-
但是不明白是怎么解决的!:)
在这种情况下,你能帮我吗?请注意,我使用 Android Studio 进行构建。
提前致谢!
仅在 Google Android 虚拟设备上使用 10.0.2.2 从您的 Android 连接到您的计算机。Android 虚拟设备正在侦听 10.0.2.2 并将所有请求转发到您的计算机。
Genymotion Android 虚拟设备正在侦听 10.0.2.3 并将这些请求转发到您的计算机。
10.0.2.2 不适用于您的真实 Android 设备。如果你想在你的真实设备上使用它,你必须设置你的计算机的 IP,正如之前的答案所建议的那样。