我正在我的应用程序中下载一个文件并使用以下超时。
HttpParams httpParameters = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParameters, 5000);
HttpConnectionParams.setSoTimeout(httpParameters, 5000);
时不时地只下载部分文件。如果在慢速移动网络上没有在 5 秒内完成下载,5 秒的 setSoTimeout 可以停止下载吗?
从谷歌开发文档它说:
以毫秒为单位设置默认套接字超时 (SO_TIMEOUT),即等待数据的超时。
这是指等待第一个数据的时间,还是等待任何进一步数据的时间?IE 下载开始,但 5 秒内没有更多数据到达。
编辑 我做了一个测试,我将 SO_TIMEOUT 减少到 100 毫秒,但它对阻止下载仅在一秒钟后完成没有任何效果。