最近在研究怎么让一个程序能自动检测更新,我有一个比较有意思的想法想分享一下,
常规的自动更新方式,无非主要思路在于,程序持有者需要和远端服务器通信,判断当前应用版本号是否为最新,如若远端服务器返回否,即弹出自动更新的选项,比较符合思维逻辑的方式就是,自己去租借一个远端服务器/主机,然后注册域名,安排一大堆事件巴拉巴拉,最后构成交通的方式,这样的方式主要适合公司进行,因为公司需要更方便的进行维护和处理,但是价格和方便程度特别低,而对于个人开发者而言,我们可以有两种方式可以去进行,一种方面就是我们可以去找免费的服务器,或者说我们自己就是服务器。
我们自己就是服务器,这种很简单,就是把本机当作远端服务器开放到公网,麻烦一点的就是开个域名,编个网站啥的,简单一点的就是内网穿透,但是安全性什么的都大打折扣,虽然并没有黑客会无聊到去打一个个人开发者的项目,但是也没必要。
免费的服务器,顾名思义,就是可以用免费的服务器去使用,市面上有许多的免费服务器,再不济阿里云还能免费用三个月,但是要论方便和简单开发的程度,那还得是GitHub。我知道有不少人借助GitHub上传个人网站,编写个人网站博客以分享内容,可能这个方法有点老掉牙了,但是我只是想分享一下。
首先,非常简单,创建一个你自己的仓库,然后放入一个Json文件用于存储当面的版本信息等内容,以作为服务器链,之后将打包好的软件内容给发送到release当中存储,然后程序先访问该仓库下的Json文件以和本地程序的版本号进行对比,如若为旧版,就自动借助Json当中的release下载链去下载包,就是这么简单。
Update.Json的具体内容
关于访问超时/下载超时的问题,推荐使用镜像站,镜像站请自行搜索。
谢谢你的观看,主要很久没更新了,但不意味着我没在进步学习。