-
Creator 版本: 2.4.3
-
目标平台: 安卓真机 红米
-
重现方式:
下载大文件中切断网络,失败后恢复网络再次进行下载就会出现下载进度回掉几次后就会自动断开下载/**开始下载zip文件 */
private downloadAndCompress2222() {
let url: string = “http://poker.snowcicada.com/opsWeb/hotUpdate/1_0_12/zips/hall_0c5e5d784b608e7d1461f591c6694d7a.zip”;
let rootPath = jsb.fileUtils.getWritablePath() + “zips/”
let downPath = rootPath + “down_temp/”
if (!jsb.fileUtils.isDirectoryExist(downPath)) {
jsb.fileUtils.createDirectory(downPath);
}
let path = downPath +temp.zip;;
cc.log(downloadAndCompress url:${url} path:${path});
let downloader = new jsb.Downloader();
let downTask = {
url: url,
path: path,
gameDirPath: rootPath,
downloader: downloader,
totalSize: 0,
};
let tempPath = path + “.tmp”;
if (jsb.fileUtils.isFileExist(path)) {
jsb.fileUtils.removeFile(path);
}
if (jsb.fileUtils.isFileExist(tempPath)) {
// jsb.fileUtils.removeFile(tempPath);
}
downloader.setOnFileTaskSuccess((sender) => {
cc.log(“setOnFileTaskSuccess”);
if (jsb.fileUtils.isDirectoryExist(downTask.gameDirPath)) {
jsb.fileUtils.removeDirectory(downTask.gameDirPath);
}
//自定义解压文件
});
downloader.setOnTaskError((sender, errorCode, errorCodeInternal, errorStr) => {
cc.log(“setOnTaskError:”, errorCode, errorCodeInternal, errorStr);
//重试断点续传
setTimeout(()=>{
//进行用户提示异常 是否进行再次尝试
this.downloadAndCompress2222();
//或者是
// cc.game.restart();
}, 10000);
});
downloader.setOnTaskProgress((sender, bytesReceived, totalBytesReceived, totalBytesExpected) => {
cc.log(“setOnTaskProgress:”, bytesReceived, totalBytesReceived, totalBytesExpected);
});
downloader.createDownloadFileTask(url, path, “”);
} -
首个报错:
2023-09-27 11:30:53.142 9967-10054/org.cocos2d.demo W/System.err: java.net.SocketException: Software caused connection abort
2023-09-27 11:30:53.143 9967-10054/org.cocos2d.demo W/System.err: at java.net.SocketInputStream.socketRead0(Native Method)
2023-09-27 11:30:53.143 9967-10054/org.cocos2d.demo W/System.err: at java.net.SocketInputStream.socketRead(SocketInputStream.java:119)
2023-09-27 11:30:53.143 9967-10054/org.cocos2d.demo W/System.err: at java.net.SocketInputStream.read(SocketInputStream.java:176)
2023-09-27 11:30:53.143 9967-10054/org.cocos2d.demo W/System.err: at java.net.SocketInputStream.read(SocketInputStream.java:144)
2023-09-27 11:30:53.143 9967-10054/org.cocos2d.demo W/System.err: at org.cocos2dx.okio.Okio$2.read(Okio.java:140)
2023-09-27 11:30:53.143 9967-10054/org.cocos2d.demo W/System.err: at org.cocos2dx.okio.AsyncTimeout$2.read(AsyncTimeout.java:237)
2023-09-27 11:30:53.143 9967-10054/org.cocos2d.demo W/System.err: at org.cocos2dx.okio.RealBufferedSource.read(RealBufferedSource.java:47)
2023-09-27 11:30:53.144 9967-10054/org.cocos2d.demo W/System.err: at org.cocos2dx.okhttp3.internal.http1.Http1Codec$AbstractSource.read(Http1Codec.java:363)
2023-09-27 11:30:53.144 9967-10054/org.cocos2d.demo W/System.err: at org.cocos2dx.okhttp3.internal.http1.Http1Codec$FixedLengthSource.read(Http1Codec.java:407)
2023-09-27 11:30:53.144 9967-10054/org.cocos2d.demo W/System.err: at org.cocos2dx.okio.RealBufferedSource$1.read(RealBufferedSource.java:439)
2023-09-27 11:30:53.144 9967-10054/org.cocos2d.demo W/System.err: at java.io.InputStream.read(InputStream.java:101)
2023-09-27 11:30:53.146 9967-10054/org.cocos2d.demo W/System.err: at org.cocos2dx.lib.Cocos2dxDownloader$3$1.onResponse(Cocos2dxDownloader.java:228)
2023-09-27 11:30:53.146 9967-10054/org.cocos2d.demo W/System.err: at org.cocos2dx.okhttp3.RealCall$AsyncCall.execute(RealCall.java:203)
2023-09-27 11:30:53.146 9967-10054/org.cocos2d.demo W/System.err: at org.cocos2dx.okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
2023-09-27 11:30:53.146 9967-10054/org.cocos2d.demo W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
2023-09-27 11:30:53.146 9967-10054/org.cocos2d.demo W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
2023-09-27 11:30:53.146 9967-10054/org.cocos2d.demo W/System.err: at java.lang.Thread.run(Thread.java:919)
再次下载就会
2023-09-27 11:31:23.751 9967-10054/org.cocos2d.demo W/System.err: java.net.SocketTimeoutException: timeout
2023-09-27 11:31:23.752 9967-10054/org.cocos2d.demo W/System.err: at org.cocos2dx.okio.Okio$4.newTimeoutException(Okio.java:232)
2023-09-27 11:31:23.752 9967-10054/org.cocos2d.demo W/System.err: at org.cocos2dx.okio.AsyncTimeout.exit(AsyncTimeout.java:285)
2023-09-27 11:31:23.752 9967-10054/org.cocos2d.demo W/System.err: at org.cocos2dx.okio.AsyncTimeout$2.read(AsyncTimeout.java:241)
2023-09-27 11:31:23.752 9967-10054/org.cocos2d.demo W/System.err: at org.cocos2dx.okio.RealBufferedSource.read(RealBufferedSource.java:47)
2023-09-27 11:31:23.752 9967-10054/org.cocos2d.demo W/System.err: at org.cocos2dx.okhttp3.internal.http1.Http1Codec$AbstractSource.read(Http1Codec.java:363)
2023-09-27 11:31:23.753 9967-10054/org.cocos2d.demo W/System.err: at org.cocos2dx.okhttp3.internal.http1.Http1Codec$FixedLengthSource.read(Http1Codec.java:407)
2023-09-27 11:31:23.753 9967-10054/org.cocos2d.demo W/System.err: at org.cocos2dx.okio.RealBufferedSource$1.read(RealBufferedSource.java:439)
2023-09-27 11:31:23.753 9967-10054/org.cocos2d.demo W/System.err: at java.io.InputStream.read(InputStream.java:101)
2023-09-27 11:31:23.753 9967-10054/org.cocos2d.demo W/System.err: at org.cocos2dx.lib.Cocos2dxDownloader$3$1.onResponse(Cocos2dxDownloader.java:228)
2023-09-27 11:31:23.753 9967-10054/org.cocos2d.demo W/System.err: at org.cocos2dx.okhttp3.RealCall$AsyncCall.execute(RealCall.java:203)
2023-09-27 11:31:23.753 9967-10054/org.cocos2d.demo W/System.err: at org.cocos2dx.okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
2023-09-27 11:31:23.753 9967-10054/org.cocos2d.demo W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
2023-09-27 11:31:23.753 9967-10054/org.cocos2d.demo W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
2023-09-27 11:31:23.754 9967-10054/org.cocos2d.demo W/System.err: at java.lang.Thread.run(Thread.java:919)
2023-09-27 11:31:23.755 9967-10054/org.cocos2d.demo W/System.err: Caused by: java.net.SocketTimeoutException: Read timed out
2023-09-27 11:31:23.755 9967-10054/org.cocos2d.demo W/System.err: at java.net.SocketInputStream.socketRead0(Native Method)
2023-09-27 11:31:23.756 9967-10054/org.cocos2d.demo W/System.err: at java.net.SocketInputStream.socketRead(SocketInputStream.java:119)
2023-09-27 11:31:23.756 9967-10054/org.cocos2d.demo W/System.err: at java.net.SocketInputStream.read(SocketInputStream.java:176)
2023-09-27 11:31:23.756 9967-10054/org.cocos2d.demo W/System.err: at java.net.SocketInputStream.read(SocketInputStream.java:144)
2023-09-27 11:31:23.756 9967-10054/org.cocos2d.demo W/System.err: at org.cocos2dx.okio.Okio$2.read(Okio.java:140)
2023-09-27 11:31:23.757 9967-10054/org.cocos2d.demo W/System.err: at org.cocos2dx.okio.AsyncTimeout$2.read(AsyncTimeout.java:237)
2023-09-27 11:31:23.757 9967-10054/org.cocos2d.demo W/System.err: … 11 more
