最近现场发现下载大文件的时候,会发生请求失败,报错:socketTimeOutException,
解决方法:删除这个依赖(替换依旧存在此类问题,这能删除)
原因分析:因为在源码中存在这样一个方法:
interface Factory {
DownloadConnection create(String url) throws IOException;
}
这个方法有两个实现方法体,一个是自带的DownLoadUrlConnection,一个就是DownLoadHttp3UrlConnection。
而关键就在于这,DownLoadHttp3UrlConnection这个方法中,默认连接、读取、写入时间是10秒!!!
如果不删掉 okhttp1.0.5 这个依赖,就会默认走DownLoadHttp3UrlConnection,所以只能删掉这个依赖,使其只能走DownLoadUrlConnection
还有一种情况:就是每次下载时,下载过程中意外结束问题,发生的时间间隔固定,由此可以推断出是流的意外结束,是因为服务器端请求时间超时,我们只需修改服务器请求时间即可