0
我开发了一个应用程序,它将使用https发布数据到服务器。代码在设备上运行良好,现在突然间我得到了java.net.SocketException:在少数设备中,操作超时。android https post - 例外
以下是我的代码。
public void connectMe() {
httpClient = new DefaultHttpClient();
HttpConnectionParams
.setConnectionTimeout(httpClient.getParams(), 25000);
HttpConnectionParams.setSoTimeout(httpClient.getParams(), 25000);
try {
HttpResponse response = null;
switch (method) {
case GET:
response = httpClient.execute(new HttpGet(url));
break;
case POST:
try {
HttpPost httpPost = new HttpPost(url);
UrlEncodedFormEntity p_entity = new UrlEncodedFormEntity(
params, HTTP.UTF_8);
httpPost.setEntity(p_entity);
response = httpClient.execute(httpPost);
} catch (Exception e) {
e.printStackTrace();
}
break;
}
} catch (Exception e) {
e.printStackTrace();
}
}
以下是logcat的信息
W/System.err(3593): java.net.SocketException: The operation timed out
W/System.err(3593): at org.apache.harmony.luni.platform.OSNetworkSystem.connectStreamWithTimeoutSocketImpl(Native Method)
W/System.err(3593): at org.apache.harmony.luni.platform.OSNetworkSystem.connectStreamWithTimeoutSocket(OSNetworkSystem.java:130)
W/System.err(3593): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:246)
W/System.err(3593): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:533)
W/System.err(3593): at java.net.Socket.connect(Socket.java:1074)
W/System.err(3593): at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:119)
W/System.err(3593): at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:153)
W/System.err(3593): at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
W/System.err(3593): at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
W/System.err(3593): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:348)
W/System.err(3593): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
W/System.err(3593): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
W/System.err(3593): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
W/System.err(3593): at com.envision.utils.MyHttpConnection.connectMe(MyHttpConnection.java:128)
我卸载并重新安装应用程序,我以前不制定出了同样的异常。但是在工厂数据重置之后,上面的代码在同一个移动设备和同一个网络中工作。
任何人都可以请解释我发生了什么..?我很困惑..
谢谢。
没有没有帮助我。我相信它不是一个临时的网络问题。我尝试过不同的时间,即使我几次重新启动移动。仅供参考,该网址是从移动浏览器工作。 –