c/s程序版本自动升级的问题,如何判断client端版本号是否最新,然后从指定ftp服务器down

时间:2023-03-10 05:29:40
c/s程序版本自动升级的问题,如何判断client端版本号是否最新,然后从指定ftp服务器down

c/s程序版本自动升级的问题,如何判断client端版本号是否最新,然后从指定ftp服务器down

http://blog.****.net/delphizhou/article/details/3078791

1 楼Delphi_Li(Delphi Li)回复于 2002-05-23 10:47:05 得分 0

假设客户端的程序名称为Client,那么首先再创建一个外壳程序Shell专门用来处理升级和启动Client的任务。在Ftp服务器上建立一个Ini文件保存服务器上Client程序的一些版本信息。Shell程序主要处理以下工作:读取本地的Ini文件,读取ftp服务器上的Ini,然后比较他们,如果有新版本则从FTP服务器上下载,然后运行Client,否则直接运行Clinet   
  Top

2 楼noflybird(东方不亮西方亮)回复于 2002-05-23 10:49:20 得分 0

你的思路应该是这样:   
  在client端有一个模块,该模块可以在程序启动或者用户想升级时检查server端是否有最新的信息,若有,指定ftp服务器down   升级文件。Top

3 楼rwdx(忆)回复于 2002-05-23 10:59:39 得分 0

在客户端主程序中启动时检测服务端的文件有没有更新,有的话就启动更新程序,更新程序然后关闭主程序进行更新,最后完再启动主程序Top

4 楼lxpbuaa(桂枝香在故国晚秋)回复于 2002-05-23 11:04:46 得分 0

我在项目中是这样做的:   
  1、在服务端建一张表,包含项目中所有文件的信息(包括版本)。我其实还加了另一表,用于保存文件下载服务器的信息。   
  2、客户端每次启动时从服务端取来她自己的版本存入注册表。然后判断,注册表的版本是不是比服务端低,如果低,则启动一个外部下载程序下载新版。   
  3、当服务端版本更新时,修改数据库的文件信息。   
    
    
  —————————————————————————————————   
  MaximStr   :=   '宠辱不惊,看庭前花开花落,去留无意;   
                            毁誉由人,望天上云卷云舒,聚散任风。';   
  if   Not   Assigned(I)   then   
      I   :=   TI.Create(Nil);   
  I.Maxim   :=   MaximStr;   
  I.Explain   :=   '假如上述代码中出现“OA”、“3D”等字样,改为“=”等';   
  I.Desire   :=   '加不加分随你';   
  —————————————————————————————————   
    
    
            
  Top

5 楼redbirdli(火鸟)回复于 2002-05-23 11:23:40 得分 0

为什么要维护那么多程序,浪费那么多资源呢?   
  在Client和Server上都开一个Socket,作用和应用的一样,即Client和Server   
  当Client的Socket向Server请求时,   发送去Client的版本信息(可用API   GetFileVersionInfo得到),Server接收后与Server机器某文件夹下的新Client程序比较,前者旧于后者则向此Client发送新文件,Client接收并另名保存,在关闭程序前制作并调用一个bat文件如:   
  del   client.exe   
  ren   new.exe   client.exe   
  client.exe   
  del   self.bat   
  升级成功Top