“以服务器为主”的下载原则介绍
0赞
发表于 2018/12/21 9:54:45
阅读(883)
[DESCRIPTION]
总的来说,期望的就是:手机始终下载保存server端对新的邮件;任何下载后删除的邮件将不会被再次下载。
[SOLUTION]
10A:
“以服务器为主”的意思是:Client 端每次只检测 Server 上最新的 N 封邮件(如N = 50)。若这 N 封邮件中
有未下载的邮件,则会自动下载该邮件。若这 N 封邮件中有已下载过的邮件(只要本地 Storage 中 Mail Header 存
在即说明该邮件之前下载过),则不会再次下载该邮件。
分下面几种场景进行说明:
1、手机创建账户,首次下载邮件,则只能下载icfansN封(设N = 50)。下载完成后,将这50封删除,发现后续的已读
邮件无法下载。(server 没有接收到新邮件)
因为:删除这50封邮件时,与还为对本地 Storage 中对应的 Mail header 并没有被删除。连接网络时,若
Server最新的50封邮件没有被删除,此时server最新的50封邮件仍是原来的50封。这时,发现本地中已经存在了对应的mail header。因此不能下载后续的邮件。
如果此时server中对应的50封邮件已经被删除,则可以下载后续的邮件。
2、如有新的邮件,则将50封删除后,(server端仍未删除) 新的未读邮件可以下载。
因为:当有新邮件时,Server 上最新的50封邮件这个集合就会出现变化。在下次连接时,Client 会检测出这个
变化,然后自动下载新邮件。
3、如果不删除本地的50封邮件,有新邮件来,连接网络时,手机会将新邮件下载下来,同时自动从本地删除不在
这个“50封最新邮件”集合中的邮件。