虽然这个问题在 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:720000000 毫秒后无法连接到 /10.0.2.2(端口 8080):isConnected 失败:ETIMEDOUT(连接超时) ”的错误。
我通过特定链接来解决这个问题——
但是想不明白是怎么解决的! :)
在这种情况下你能帮我吗?请注意,我正在使用 Android Studio 进行构建。
提前致谢!
原文由 Saumik Bhattacharya 发布,翻译遵循 CC BY-SA 4.0 许可协议
我已经弄清楚它不起作用的原因。有两个问题——
IP 地址不正确。因此,我将 IP 地址从
10.0.2.2
更改为IPv4
地址 - 可以通过在 Windows 上键入ipconfig
获得链接命令提示符和 链接。端口号 8080 也不正确。我在
httpd.conf
文件中设置了自己的端口号,例如##Listen 12.34.56.78:8383Listen 0.0.0.0:8383Listen [::0]:8383##
,在 Apache 下,我使用相同的端口号。更改两者并重新启动 WAMP 服务器后,它就像一个魅力。