Android:java.net.SocketException的原因是什么:连接超时了?

时间:2011-04-19 12:51:48

标签: android socketexception

在我的应用程序中下载加载数据。一切都很好,但有些它给出了奇怪的响应并抛出了socketException:connectiontimout?

请任何人告诉我这些例外的原因是什么?这样我才能找出问题?

给我一​​些解决方案以避免这种异常

这里的日志是............

**

04-19 15:44:52.591: WARN/System.err(18199): java.net.SocketException: Connection timed out
04-19 15:44:52.591: WARN/Smack/Packet(209): notify conn break (IOEx), close connection
04-19 15:44:52.591: DEBUG/Smack(209): [XMPPConn] close connection, notifyClosed=false
04-19 15:44:52.591: WARN/System.err(18199):     at org.apache.harmony.luni.platform.OSNetworkSystem.read(Native Method)
04-19 15:44:52.591: WARN/System.err(18199):     at dalvik.system.BlockGuard$WrappedNetworkSystem.read(BlockGuard.java:273)
04-19 15:44:52.591: WARN/System.err(18199):     at org.apache.harmony.luni.net.PlainSocketImpl.read(PlainSocketImpl.java:458)
04-19 15:44:52.591: WARN/System.err(18199):     at org.apache.harmony.luni.net.SocketInputStream.read(SocketInputStream.java:85)
04-19 15:44:52.591: WARN/System.err(18199):     at java.io.BufferedInputStream.read(BufferedInputStream.java:319)
04-19 15:44:52.591: WARN/System.err(18199):     at org.apache.harmony.luni.internal.net.www.protocol.http.FixedLengthInputStream.read(FixedLengthInputStream.java:44)
04-19 15:44:52.591: WARN/System.err(18199):     at java.io.BufferedInputStream.read(BufferedInputStream.java:319)
04-19 15:44:52.591: WARN/System.err(18199):     at java.io.FilterInputStream.read(FilterInputStream.java:133)
04-19 15:44:52.591: WARN/System.err(18199):     at com.logictreeit.pilot.utils.Download.Download1(Download.java:245)
04-19 15:44:52.591: WARN/System.err(18199):     at com.logictreeit.pilot.utils.Download.access$4(Download.java:225)
04-19 15:44:52.591: WARN/System.err(18199):     at com.logictreeit.pilot.utils.Download$DownloadTask.doInBackground(Download.java:171)
04-19 15:44:52.591: WARN/System.err(18199):     at com.logictreeit.pilot.utils.Download$DownloadTask.doInBackground(Download.java:1)
04-19 15:44:52.591: WARN/System.err(18199):     at android.os.AsyncTask$2.call(AsyncTask.java:185)
04-19 15:44:52.591: WARN/System.err(18199):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
04-19 15:44:52.591: WARN/System.err(18199):     at java.util.concurrent.FutureTask.run(FutureTask.java:138)
04-19 15:44:52.591: WARN/System.err(18199):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
04-19 15:44:52.591: WARN/System.err(18199):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
04-19 15:44:52.591: WARN/System.err(18199):     at java.lang.Thread.run(Thread.java:1019)

**

此致 SRINIVAS

2 个答案:

答案 0 :(得分:3)

“连接超时”是网络环境中的预期行为。在移动环境中,甚至更加期望网络连接不可靠。这意味着服务器无法响应一定的秒数。

因为这是正常行为,所以你需要在Android应用程序中处理它。尝试重试,向用户显示错误消息或执行其他适当的操作。

答案 1 :(得分:0)