软件更新服务之服务端搭建
欢迎访问我的博客https://www.marxcbr.cn/
说到软件更新相信大家肯定都不止一次两次见过了吧。在手机上,经常可以看到某某助手或者应用中心提示应用更新,而且会很醒目地告诉你:可以节约多少多少流量。在大家各自的PC上面也不止一次看到这种提示吧。
“检查到新版本x.x.x,当前版本是x.x.x,是否更新”
这种软件更新是怎么做到的呢开Android的不说,咱们本次讨论一下PC的软件是如何做到的怎么样br> 其实,流程是十分简单的,大家也是一想就能明白。
流程如下:
首先,咱们得先有一部远程服务器吧。用来存放软件更新的文件以及清单文件,以及搭建一个服务用以软件检测是否存在有新版本和下载新文件用
接着软件客户端,就是你的PC上面要有个服务去检测发现版本更新信息。可以在启动的时候,也可以在你点击软件检查更新的时候去检查版本信息。
点击更新后,下载清单文件,然后再比较一下清单文件和本地文件的差异,可以检测一下文件的MD5什么的。如果不一样的就下载更新,当然如果是不存在的,就更加得下载下来啦。
最后就是……你得有 ,Internet,晓得吧,木得Internet谈自动更新(增量更新)都是“耍流氓”。。。
流程图如下:
OK ,那么这个这么简单的流程咱们搞清楚了吗br> 清楚后,咱们分析一下我们服务器担任的角色。我们今天先不管客户端啦(虽然考虑的时候应该一起考虑,小声bb)
服务器要起到几个作用:
1、提供 络服务,就是得有简单文件下载服务和应答服务。
2、得有个文件夹存放更新文件,里面放更新文件和清单文件。
3、在 络中任意一个位置都可以访问到,而不仅限于自己的那个路由器……
所以,我们瞬间就可以想起了Python中自带的那个 络服务。。。但是,用过的人都知道它实在是太简单,难以胜任我们的这个需求啊。所以,这个时候,我们可以选用Flask这个小辣椒啦。什么不知道Flask是什么/p>
代码我直接就放上来吧。注释都有写作用的。
下面我就简单解释一下各函数的写法思路吧。
5行
函数的目的就是这么简单。简简单单几十行就可以把这个服务给实现出来了。后面PC客户端在请求是否有新版本更新的时候,就可以用这个服务脚本来处理了。
当然,这里面还是有挺多没考虑到的问题的。比如被人家恶意下载导致服务器流量快速被消耗,高并发的状态下,它是否能顶的住/p>
python 95行
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!