>
01
网站首页
>
02
有本日记
>
03
古城童话
>
04
技术笔记
>
05
相框相册
>
0A
可能是我
>
0B
写张纸条
>
0C
友情链接
京ICP备06059428号
凯纳实训-第三阶段(8.8-8.14)
古城
@ 2007.08.25
分类:
有本日记
点击:2143
评论:0
第三阶段(8.8-8.14):完成Update在线升级程序
首先分别试验了socket捕获HTTP数据包,解决了gethostbyname()获取主机信息的问题,分别实现了主机域名解析,TCP连接,HTTP数据包分析,文件保存等功能。所以在理论上保证了在线升级程序的可行性。
接下来需要的是具体处理流程的设计。写了《在线升级程序详细设计》文档(包含升级流程说明、模块划分、模块详细设计、详细处理流程图、参考知识:HTTP协议简介和MD5简介),然后提交到SVN上,本以为设计的很好了,很多细节地方都特别注意。结果发现连最基本的版本验证和MD5校验等都没有设计进升级流程里面,好端端的升级程序变成了一个网络下载器。可见在分析实际问题经验严重不足,或者是说方法不对,没有从需求入手导致设计偏离主题。这点以后需要注意并改正。
最终在线升级程序的总体流程为
1.下载升级配置文件update.ini
2.从升级配置文件获得版本等信息
3.获得主程序(比如SuperClean的)版本
4.校对版本号,需要升级则继续
5.选择服务器列表
6.下载文件
7.MD5校验
8.升级日志
具体编码时,先以函数形式细分为小块:域名解析、TCP连接、HTTP协议数据包分析、从HTTP数据包中获取文件,保存文件,获取文件版本,分析.ini配置文件,MD5校验,记录日志等,再按详细设计文档的处理流程图实现在线升级程序的具体功能。
完成了Update在线升级程序之后,把SuperClean单机版和Update在线升级程序连接起来了,可以成功完成SuperClean的升级过程。
后来又做了些必要的修改,增加了config.h作为编译时的配置文件,config.h里面是工程的宏定义,通过改变这些宏定义可以很方便的将Update在线升级程序运用到其他各种软件的升级过程。
上一篇:
凯纳实训-第四阶段(8.15-8.20)
下一篇:
凯纳实训-第二阶段(8.3-8.7)
本文评论
发表评论
你的评论
← 填你的
昵称
← 这里填
↓
以下内容
非必填
,可根据需要填写
← 可以展示在你的评论上方
← 不会在页面展示
← 不会在页面展示
← 只给我看?勾选上
[
提交
]
这是一个别人称之为
角落
的世界
幸而,它的确是我的世界