c/s程序版本自动升级的问题,如何判断client端版本号是否最新,然后从指定ftp服务器down
c/s程序版本自动升级的问题,如何判断client端版本号是否最新,然后从指定ftp服务器down
http://blog.csdn.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
c/s程序版本自动升级的问题,如何判断client端版本号是否最新,然后从指定ftp服务器down的更多相关文章
- 分享一个客户端程序(winform)自动升级程序,思路+说明+源码
做winform的程序,不管用没用过自动更新,至少都想过自动更新是怎么实现的. 我这里共享一个自动更新的一套版本,给还没下手开始写的人一些帮助,也希望有大神来到,给指点优化意见. 本初我是通过sock ...
- Delphi程序的自动升级功能的实现(AutoUpdate使用指南)
在UtiMnid组件下,利用auAutoUpgrader实现自动升级(已经测试通过) 第一步:下载AutoUpgrader.Pro.v4.6.4. 第二步:打开AutoUpgrader.Pro.v4. ...
- 微信小程序版本自动更新弹窗提示
代码如下: onLaunch () { if (wx.canIUse('getUpdateManager')) { const updateManager = wx.getUpdateManager( ...
- 黄聪:禁止wordpress版本自动升级的解决方案
在WordPress配置文件中找到wp-config.php,添加如下常量 define( 'AUTOMATIC_UPDATER_DISABLED', true );
- winform软件版本检测自动升级开发流程(转)
注:按此博文试验OK 基于C/S的开发有开发效率高,对于业务逻辑复杂,且不需要外网使用具有较大优势,但是弊端也不可忽视,就是升级麻烦,不可能每写一个版本就要拿着安装包给每个人去替换,这样不仅搞得自己很 ...
- uniapp 证书 打包上线GooglePlay app自动升级
uniapp Android证书 打包上线GooglePlay app自动升级 1.Android证书申请 要安装jdk并配置环境变量. keytool -genkey -alias android ...
- 定时自动从FTP服务器取数据脚本
环境需求:某些情况下经常需要向FTP服务器取文件,可以用定时任务执行简单脚本自动去取相应文件. 一般用法: ~]# ftp IP地址 端口 //ftp命令可以通过yum install ftp方式 ...
- VC FTP服务器程序分析(二)
上面讲到了CClientThread类,打开这个类的实现,这个类实现了4个函数.依次分析: 1.InitInstance 其说明如下:InitInstance必须被重载以初始化每个用户界面线程的新 ...
- shell脚本实现自动压缩一天前的日志文件 ,并传到ftp服务器上
shell脚本实现自动压缩一天前的日志文件 ,并传到ftp服务器上 naonao_127关注2人评论19401人阅读2012-06-08 11:26:16 生产环境下脚本自动备份脚本是 ...
随机推荐
- findFile的用法
=============================================== @echo off echo **No Options: for /f %%a in (&q ...
- es5/6数组遍历以及常用的一些方法
数组的遍历方法 1...for(var i=0;i<arr.length;i++){ } ---------------------------------------------------- ...
- easybcd 支持 windows 10 和 ubuntu 14.04 双系统启动
家里计算机系统 windows 10 全新安装. 原本是双系统的,还有一个ubuntu. windows 10 安装以后,恢复ubuntu就是问题了. (事后经验:请不要立刻安装bcd修改工具) 最初 ...
- SQLite与MySQL、SQLServer等异构数据库之间的数据同步
SQLite DBSync是开源嵌入式数据库SQLite的数据同步引擎,实现了SQLite与SQLite数据库之间以及SQLite与异构数据库(Oracle.MySQL.SQLServer)之间的增量 ...
- dom和bom是什么?
DOM:文档对象模型,描述了处理网页内容的方法和接口.最根本对象是document(window.document). 由于DOM的操作对象是文档,所以DOM和浏览器没有直接关系. 部署在服务器上的文 ...
- TIOJ1208 第K大连续和
第k大的题一般都有点麻烦 pbds库的tree,需要研究一下https://codeforces.com/blog/entry/11080find_by_order() and order_of_ke ...
- 最短路 || UOJ 19 寻找道路
UOJ j19 寻找道路 在有向图G中,每条边的长度均为 1,现给定起点和终点,请你在图中找一条从起点到终点的最短路径,该路径满足以下条件: 路径上的所有点的出边所指向的点都直接或间接与终点连通. * ...
- 一丶webservice执行存储过程
返回值组合: json返回 StringBuilder sb = new StringBuilder(); sb.Append("{"); sb.Append("\&qu ...
- 拖拽功能-jquery
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- 复制webp图片到word || 微信webp图片不能复制 || 如何复制webp到word
用IE浏览器打开Alt+A 复制直接去word粘贴, 用IE浏览器打开Alt+A 复制直接去word粘贴 用IE浏览器打开Alt+A 复制直接去word粘贴 用IE浏览器打开Alt+A 复制直接去wo ...