Sau*_*rya 7 php java post android localhost
尽管在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;
}
Run Code Online (Sandbox Code Playgroud)
我试图通过WAMP服务器使用PHP连接Android与MySQL数据库.PHP文件(user_registration.php)保存在以下路径中 -
C:\wamp\www\android_connect
Run Code Online (Sandbox Code Playgroud)
现在执行代码后,我收到一个错误,如" java.net.SocketTimeoutException:在720000000ms之后无法连接到/10.0.2.2(端口8080):isConnected失败:ETIMEDOUT(连接超时) ".
我通过了特定的链接来解决这个问题 -
但无法理解它是如何解决的!:)
在这种情况下你能帮我吗?请注意我正在使用Android Studio进行构建.
提前致谢!
小智 8
从Android到您的计算机建立连接只能在Google Android虚拟设备上使用10.0.2.2.Android虚拟设备正在侦听10.0.2.2并将所有请求转发到您的计算机.
Genymotion Android虚拟设备正在侦听10.0.2.3并将这些请求转发到您的计算机.
10.0.2.2不适用于您的真实Android设备.如果要将其与真实设备一起使用,则必须设置计算机的IP,如前面的答案所示.
我已经弄清楚了它为什么不起作用的原因。有两个问题-
IP地址不正确。因此,我将IP地址从10.0.2.2更改为该IPv4地址-可以在Windows上通过键入ipconfig 命令提示符并查看linux的链接获得该地址。
同样,端口号8080不正确。我在Apache下的httpd.conf文件中
设置了自己的端口号,##Listen 12.34.56.78:8383Listen 0.0.0.0:8383Listen [::0]:8383##并且使用了相同的端口号。
更改两者并重新启动WAMP服务器之后,它就像一个魅力一样工作。
| 归档时间: |
|
| 查看次数: |
16302 次 |
| 最近记录: |