WIFI网络和移动网络同时打开,在下载过程中,关闭WIFI网络,此时系统关闭WIFI网络同时切换到移动网络,在此过程,出现以下异常,出现异常的语句是is.read(buffer),代码段如下:
try{ while ((len = is.read(buffer)) != -1) { if(!CommonUtils.isDownloadAvailable()) { Logger.v(TAG, "Download operation is unavailable, stop down."); break; } if(!running) { Logger.v(TAG, "Down is cancelled, stop down."); break; } offset += len; file.write(buffer, 0, len); sendMessage(DownMessage.MSG_UPDATE, len); } }catch(IOException e) { Logger.e(TAG, "Catch IO exception when read data from input stream.", e); throw e; }
Catch IO exception when read data from input stream.
java.net.SocketException: recvfrom failed: ETIMEDOUT (Connection timed out)
at libcore.io.IoBridge.maybeThrowAfterRecvfrom(IoBridge.java:542)
at libcore.io.IoBridge.recvfrom(IoBridge.java:506)
at java.net.PlainSocketImpl.read(PlainSocketImpl.java:488)
at java.net.PlainSocketImpl.access$000(PlainSocketImpl.java:46)
at java.net.PlainSocketImpl$PlainSocketInputStream.read(PlainSocketImpl.java:240)
at java.io.BufferedInputStream.read(BufferedInputStream.java:304)
at libcore.net.http.FixedLengthInputStream.read(FixedLengthInputStream.java:45)
at java.io.BufferedInputStream.read(BufferedInputStream.java:304)
at java.io.InputStream.read(InputStream.java:163)
at com.tvie.ivideo.download.logic.DownThread.run(DownThread.java:70)
Caused by: libcore.io.ErrnoException: recvfrom failed: ETIMEDOUT (Connection timed out)
at libcore.io.Posix.recvfromBytes(Native Method)
at libcore.io.Posix.recvfrom(Posix.java:131)
at libcore.io.BlockGuardOs.recvfrom(BlockGuardOs.java:164)
at libcore.io.IoBridge.recvfrom(IoBridge.java:503)
... 8 more
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。