我的应用程序需要通过http://127.0.0.1/...(localhost url)联系它正在处理的同一设备.
出于某种原因,当我到达那里有JSON内容的网站时,大约50%的时间(可能正好是50%),我得到例外:
java.net.SocketException:recvfrom失败:ECONNRESET(由对等方重置连接)
对于其他50%,我得到了非常好的结果.我试图进行民意调查(甚至民意调查之间的延迟很大),但我仍然得到同样奇怪的结果.
我搜索过互联网,也在这里,我不确定为什么会这样.对等方是否意味着客户端已经造成了这种情况?为什么会这样,我该如何处理?
一些网站说这是常见的事情,但我没有找到在这种情况下最好的事情.
尽管在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进行构建.
提前致谢!