试图兑现来自我们客户的功能请求,我希望我的应用程序在互联网可用时检查我们的网站是否有新版本。自动检查我的应用程序的新版本
问题是,我不知道在服务器端要做什么。
我可以想象,我的应用程序(使用Qt开发的C++)必须向服务器发送请求(HTTP?),但是如何响应此请求?为了通过防火墙,我想我必须使用端口80?它是否正确 ?
或者,对于这样的功能,我是否必须要求我们的网络管理员打开一个特定的端口号,通过它进行通信?
@pilif:谢谢您的详细解答。还有一些东西,目前尚不清楚对我来说:
像
http://www.example.com/update?version=1.2.4
然后你就可以回到你什么都想要,新版本的安装程序也可能下载的URL。
我该如何退货?它会是一个PHP或ASP页面(我不知道关于PHP或ASP,我不得不承认)?我该如何解码?version=1.2.4
部分才能返回相应的内容?
非常完整的答案;但我想补充一点:如果可能,请使用HTTPS/SSL。虽然在这里可能没有必要:有一些工具可以嗅探这样的“嘿,是否有更新?” - 问题和简单回答“是的,在这里,请拿我的代码并安装/执行它” '... – osti 2010-05-14 14:22:05
甚至比使用SSL更好的是实际签署更新二进制文件并检查其签名。 SSL仅证明更新加载的URL是(任何)证书颁发给的。 为了完全保存,我将用我的公钥部署待更新的应用程序,使用我的私钥签署更新,然后检查更新本身。 – pilif 2010-06-25 08:39:32