Board logo

标题: 应用程序FTP远程自动更新方案 [打印本页]

作者: emtronix20105    时间: 2010-8-5 10:59     标题: 应用程序FTP远程自动更新方案

WinCE内核中的FTP Server程序,实现应用程序远程更新的方法,但在很多应用场合,往往是工控主板作为FTP客户端与FTP服务器交换文件,为此我们提供了FTP客户端应用程序库EM_FTPClient.LIB,客户利用这个库可以方便的编写出适合自己应用的FTP客户端应用程序,在《ARM9工控主板支持断点续传的FTP文件传送》一文中对各库函数做了详细介绍。本文介绍的更新方案就是利用EM_FTPClient.LIB,工控主板作为客户端,通过GPRS实现应用程序远程更新。客户可先看《ARM9工控主板WinCE应用程序的远程FTP自动更新》,再看本文,可对应用程序的自动更新有更清楚的了解。
      本方案的最大特点是FTP传送支持断点续传,由于GPRS网络的原因,对基于GPRS的FTP应用,断点续传功能必不可少,本文的断点续传方案大大增加了文件传送成功的机率,节省了传送时间。本方案分为两个大的步骤:一、应用程序远程下载,主要是将FTP服务器上指定目录下的文件下载到本地指定的目录中,同时生成update.flg标志文件;二、应用程序自动更新,通过绑定在内核中的update.exe程序实现。
一、应用程序远程下载
      应用程序的下载由FTPTEST.EXE完成,程序中,先读取配置文件FtpConfig.txt,FtpConfig.txt中包含了目标FTP服务器,登录用户名、密码,远端目录等信息。读取配置文件后,紧接着GPRS拨号,GPRS连接建立成功,就依次调用EM_FTPClient.LIB中的Logon()登录到FTP服务器,ListAll()列取FTP目录下的文件, GetFile()函数进行文件下载,如果在下载过程中出错,则再次调用GetFile()函数,并将参数中的bResume设置为TRUE,进行断点续传。各函数的具体使用请参考《ARM9工控主板支持断点续传的FTP文件传送》。文件下载成功后,将生成update.flg标志文件。
      FtpConfig.txt 中的各项定义如下:
      [FTP_SERVER]     //目标FTP服务器信息
      IPAddress='125.69.125.193'   //FTP服务器IP
      DomainName=''     //FTP服务器域名
      [LOGON_INFO]     //FTP用户信息
      User='guest'      //登录用户名
      Pass='888'      //用户密码
      RemoteDir='\ttt'     //FTP服务器目录
      FtpType='image'     //传输文件类型 image/ascii
      [LOCAL_INFO]     //用户本地信息
      LocalDir='\NandFlash\FTPUpdate' //下载文件存储的本地目录
      ExistFile='jump'     //要下载的文件已存在于当前目录:跳过或覆盖jump/cover
      MaxResumeCount='10'    //FTP最大重试次数
二、应用程序自动更新
      为了避免和正在运行的应用程序冲突,文件均下载到指定的\NandFlash\FTPUpdate下,系统启动时,先检查userinfo.txt中的Update项是否等于“ON” ,如果是,则启动自动更新方案,运行update.exe来完成程序的更新工作。对于update.exe的详细说明,请参考《ARM9工控主板WinCE应用程序的远程FTP自动更新》。
      本文介绍的方法既是一个完整的应用程序更新方案,也是一个EM_FTPClient.LIB库应用的例子,感兴趣的客户可向英创索要相关代码。

[查看全文]
[关于英创]
[更多文章]
[技术论坛]
本文PDF格式下载




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0