应用更新服务器

时间:2014-03-10 15:15:27

标签: c++ qt client

我的应用程序(QT,MSVC2010)要求在代码(可执行文件本身)和数据(客户使用的文件)中不断更新。 主要问题是并非每个用户都有权下载整套更新,所以我需要一种方法只向他发送适当的文件。 我决定做这样的事情:

  • 客户:发送用户ID
  • 服务器:检查数据库中的用户ID,发送给他 适当的更新
  • 客户:接收更新

在这个阶段,我不关注安全问题(身份验证,加密),我只想知道是否有任何可以使用的现成解决方案,或者我是否必须自己编写代码。即使是部分解决方案也会有很大帮助。 我不知道任何服务器端应用程序可以处理这种情况,但我必须承认这不是我的领域。

最后一点:我需要避免任何基于Web的解决方案(用户登录网站,PHP等),原因很多。

谢谢!

1 个答案:

答案 0 :(得分:0)

我不知道它是否真的是一个答案,我可以描述一下我之前是如何以一种简单的方式实现非常相似的设计。

1)客户端具有(通过.rc文件)和用户凭证构建的版本信息 2)客户端访问中央数据库检查是否存在其当前版本和用户凭据的URL。

 select url from some table for credentials and version more then current version

3)客户端使用标准Qt类从Http / Ftp使用Url将更新作为单个zip文件提取。如果您需要定制协议,您可能希望在其上实现一些逻辑。 4)客户端根据收到的数据自行更新 5)客户端通知服务器有关更新完成的信息,因此我们知道安装的位置

这是非常简单的骨架,有很多限制,但它解决了我在该项目中所需的一切。因此,您可以为特定用户部署更新,而不会影响其他用户。