大家好,又见面了,我是你们的朋友全栈君。
最近做的项目是我从本地查询出数据,然后上传到云端,在这个过程中用http的post请求传递数据,联系到生活中会出现断网的情况,就增加了断点续传的功能。
断点续传,我理解的就是数据正在传输,这时出现了断网,我们检测到网络故障时,立即保存上传失败的这一条或一批数据,只要能标记出失败的数据,确保网络畅通的时候能从上次失败的地方开始就可以。在网上看到很多方法都是将失败的数据保存到本地,结合我自己的项目,因为是分页对数据进行上传的,每一页数据只有两种结果:成功或失败。所以每次我都会在配置文件中保存一个这一页数据中最新的一个时间点,断点续传的时候,根据这个时间点查询之后的数据上传。具体实现可能有些复杂,现在我们只要知道有断点续传这个东西就好了,等用到的时候再结合着自己的项目实现。
出现断网以后,我们需要一个重试机制,来监测网络什么时候恢复,比如说出现断网后,我们会重试一定的次数,访问对方的地址,如果在规定次数内网络恢复,则继续上传;如果没有恢复,就启动一个定时器,等待一定时间后再重试。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/105677.html原文链接:https://javaforall.cn