C++ 自动更新软件;FTP是一个好的选择吗?

C++ 自动更新软件;FTP是一个好的选择吗?,c++,auto-update,C++,Auto Update,我想为桌面Windows/Mac应用程序内置更新功能,我想知道是否有一个“正确答案”来实现这一点。例如,客户端可以用来连接到FTP服务器-有许多可能的方法,但希望人们已经决定哪种方法是最好的。FTP在用于自动更新软件时可以带来一些好处。从FTP服务器获取新版本、下载并运行它(而不是旧版本)的部分易于实现,其主要优点是不需要任何服务器端软件。 使用FTP的缺点是在下载文件之前无法检查文件的日期/时间戳,就像在与服务器端软件通信时一样。这可以通过将一个小文件(.txt)放在存储新版本信息的位置来解决

我想为桌面Windows/Mac应用程序内置更新功能,我想知道是否有一个“正确答案”来实现这一点。例如,客户端可以用来连接到FTP服务器-有许多可能的方法,但希望人们已经决定哪种方法是最好的。

FTP在用于自动更新软件时可以带来一些好处。从FTP服务器获取新版本、下载并运行它(而不是旧版本)的部分易于实现,其主要优点是不需要任何服务器端软件。 使用FTP的缺点是在下载文件之前无法检查文件的日期/时间戳,就像在与服务器端软件通信时一样。这可以通过将一个小文件(.txt)放在存储新版本信息的位置来解决,以便当前版本可以检查该文件并查看是否应该下载完整版本。
FTP自动更新机制的另一面是您需要创建的另一个软件,它将上载新版本,创建版本详细信息文本文件,并维护上载、版本和下载的日志。

FTP有问题-并非所有防火墙都允许它通过。HTTP是最有可能在没有问题的情况下通过防火墙的。如果你的软件足够大,你可以考虑用P2P更新来节省你的带宽。@ JoeMcGrase:然后你冒着被公司防火墙阻塞的风险(假设你使用的是洪流,否则会有意义)。甚至可能被企业IT部门禁止。如果所讨论的软件对家庭用户来说很酷,那么P2P可能不是最好的选择(此外,OP谈论的更新数据总量可能不是Google scale)。@JoeMcGrath-不,这完全是一个客户机-服务器交易,对于公司类型的客户端。@MarcB-是否有库可以使通过HTTP下载文件像FTP一样容易?性能也一样好吗?那么安全性呢,如何处理呢?