android获取超时异常,获取java.net.SocketTimeoutException:连接超时在android

我比较新的android开发。我正在开发一个Android应用程序,我发送请求到Web服务器和解析json对象。我经常收到java.net.SocketTimeoutException:与服务器通信时连接超时异常。有些时候,它会工作完美没有任何问题。

我知道这个问题已经问了很多次。但仍然没有得到任何令人满意的解决这个问题。我发布我的logcat和应用服务器通信代码下面。

public JSONObject RequestWithHttpUrlConn(String _url, String param){

HttpURLConnection con = null;

URL url;

String response = "";

Scanner inStream = null;

PrintWriter out = null;

try {

url = new URL(_url);

con = (HttpURLConnection) url.openConnection();

con.setDoOutput(true);

con.setRequestMethod("POST");

if(param != null){

con.setFixedLengthStreamingMode(param.getBytes().length);

}

con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");

out = new PrintWriter(con.getOutputStream());

if(param != null){

out.print(param);

}

out.flush();

out.close();

inStream = new Scanner(con.getInputStream());

while(inStream.hasNextLine()){

response+=(inStream.nextLine());

}

} catch (MalformedURLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} finally{

if(con != null){

con.disconnect();

}if(inStream != null){

inStream.close();

}if(out != null){

out.flush();

out.close();

}

}

}

Logcat:

03-25 10:55:32.613: W/System.err(18868): java.net.SocketTimeoutException: Connection

timed out

03-25 10:55:32.617: W/System.err(18868):at org.apache.harmony.luni.platform.OSNetworkSystem.connect(Native Method)

03-25 10:55:32.617: W/System.err(18868):at dalvik.system.BlockGuard

$WrappedNetworkSystem.connect(BlockGuard.java:357)

03-25 10:55:32.617: W/System.err(18868):at

org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:204)

03-25 10:55:32.617: W/System.err(18868):at

org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:437)

03-25 10:55:32.617: W/System.err(18868):at java.net.Socket.connect(Socket.java:1002)

03-25 10:55:32.621: W/System.err(18868):at

org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.

(HttpConnection.java:75)

03-25 10:55:32.621: W/System.err(18868): at

org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.

(HttpConnection.java:48)03-25 10:55:32.624: W/System.err(18868):at

org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection$Address.connect

(HttpConnection.java:322)03-25 10:55:32.624: W/System.err(18868):at

org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionPool.get

(HttpConnectionPool.java:89)03-25 10:55:32.628: W/System.err(18868):at

org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getHttpCon

nection(HttpURLConnectionImpl.java:285)

03-25 10:55:32.628: W/System.err(18868):at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.makeConn

ection(HttpURLConnectionImpl.java:267)

03-25 10:55:32.636: W/System.err(18868):at

org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.connect

(HttpURLConnectionImpl.java:205)

03-25 10:55:32.636: W/System.err(18868):at

org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getOutputS

tream(HttpURLConnectionImpl.java:614)

03-25 10:55:32.636: W/System.err(18868):at

com.myapp.core.JSONRequest.RequestWithHttpUrlConn(JSONRequest.java:63)

03-25 10:55:32.636: W/System.err(18868): at com.myapp.core.DetailPage

$AsyncRecBooks.doInBackground(AKBookDetailView.java:265)

03-25 10:55:32.640: W/System.err(18868): at com.myapp.core.DetailPage

$AsyncRecBooks.doInBackground(AKBookDetailView.java:1)

03-25 10:55:32.640: W/System.err(18868): at android.os.AsyncTask$2.call

(AsyncTask.java:185)

03-25 10:55:32.640: W/System.err(18868): at java.util.concurrent.FutureTask

$Sync.innerRun(FutureTask.java:306)

03-25 10:55:32.640: W/System.err(18868): at java.util.concurrent.FutureTask.run

(FutureTask.java:138)

03-25 10:55:32.640: W/System.err(18868): at

java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)

03-25 10:55:32.648: W/System.err(18868): at

java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)

03-25 10:55:32.648: W/System.err(18868): at java.lang.Thread.run(Thread.java:1019)

03-25 10:55:32.652: E/JSON Parser(18868): Error parsing data org.json.JSONException:

End of input at character 0 of

任何人都可以帮助我找出一个解决方案?提前致谢….

你可能感兴趣的:(android获取超时异常)