2023年11月26日发(作者:)
1/31
JAVA 实现客户端软件自动更新
(一)
前段时间做了一个工具发布给公司的各部门使用后反馈了不少BUG,每次修改后均需要发邮件
通知各用户替换最新版本,很不方便,因此后来就写了一个自动升级的功能,这样每次发布新
的版本时只需要将其部署到自动升级服务器上,工具使用用户运行工具时就会连接到自动升级
2/31
28
29
30
31
3/31
33
34
1.修正了等字符而无法正确生成的错误
35 2.修正了无法生成的错误
4/31
(二)
本实现包括:
1、 服务端和客户端之间的通讯协议
2、 服务端的监听进程
5/31
32
33 /** *//**
6/31
89 * 文件数据块大小
90 */
91 public static final int DATA_SIZE = 1024;
7/31
30 public AutoUpdateServer()
31 {
8/31
87 tackTrace();
88 }
89 }
9/31
(三)
1/** *//********************************************************************
2 * 项目名称 :rochoc
10/31
49 public void run()
50 {
11/31
106 ("出现非期望数据,"+new String(bCmd));
107 (());//结束
12/31
163 {
164 UpdFile verFile = new UpdFile("");
13/31
220 //读取命令
221 len = (bCmd,0,8);
14/31
277 // 组合数据包
278 for (int i=0; i 15/31 334 boolean isOk = false; 335 flagb[0] = flag; 16/31 391 for (int i = 0; i < ; i++) 392 { 393 (files[i].getName(), files[i]); 17/31 39 40 private void parse() 18/31 2 * 项目名称 :rochoc 3 * 包名称 :date 19/31 59 while(true) 60 { 20/31 116 }//END while(ture) 117 //关闭资源 21/31 173 //发送更新信息 174 UpdFile infFile = new UpdFile(""); 22/31 230 (tAddress()+":接收文件路径成功,"+path); 231 return true; 23/31 287 //判断客户端是否收到 288 len = (bFlag,0,1); 24/31 344 len = (flagb,0,1);//读取标识位 345 if(len != 1) 25/31 401 ("接收客户端"+tAddress()+" 版本号信息处理失败,"+e); 402 } 26/31 (四) 接CS结构软件自动升级实现(三) : 处理配置文件: 1/** *//******************************************************************** 27/31 46 private Config() 47 { 28/31 103 { 104 files[i].setType(0);//文件 29/31 160 return (ing(0, ()-1)); 161 return p; 162 } 163 public static byte[] getCmd(String cmd) 30/31 10 * 变更作者 : 11 * 变更说明 : 31/31 67 /** *//** 68 * @param path The path to set. 69 */


发布评论