CS结构软件自动升级实现(三) - 编程入门网
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-06-16
理 147 UpdFile srvFiles [] = config.getFiles(); 148 boolean isSuccess = true; 149 for(int i=0;i<srvFiles.length;i++) 150 { 151 UpdFile cf = (UpdFile)cFiles.get(srvFiles[i].getName()); 152 //文件不存在或版本号不一致则需要更新该文件 153 if(cf==null || !cf.getVersion().equals(srvFiles[i].getVersion())) 154 { 155 if(!sendFile(srvFiles[i])) 156 { 157 isSuccess = false; 158 } 159 } 160 }//END for 161 //发送版本信息文件,发送更新信息文件 162 if(isSuccess) 163 { 164 UpdFile verFile = new UpdFile("autoupdate.xml"); 165 verFile.setPath("." + File.separator + "config"); 166 verFile.setType(0); 167 verFile.setVersion(config.getVerstion()); 168 if(!sendFile(verFile)) 169 { 170 Config.print(socket.getInetAddress()+":发送版本文件失败"); 171 return 0; 172 } 173 //发送更新信息 174 UpdFile infFile = new UpdFile("history.htm"); 175 infFile.setPath("." + File.separator + "config"); 176 infFile.setType(0); 177 infFile.setVersion(config.getVerstion()); 178 if(!sendFile(infFile)) 179 { 180 Config.print(socket.getInetAddress()+":发送最新信息失败"); 181 } 182 return 1; 183 }else 184 { 185 return 0; 186 } 187 }catch(Exception e) 188 { 189 Config.print("处理需要更新文件失败,"+e); 190 e.printStackTrace(); 191 return 0; 192 } 193 } 194 //0.失败 1.成功 195 private boolean sendFileAbsPath(String path) 196 { 197 try 198 { 199 byte buffer[] = new byte[AUPD.BUFFER_SIZE]; 200 int len = 0; 201 //标识为数据段 202 buffer[0] = AUPD.MARK_DATA_SECT; 203 Config.copyArray(buffer, Config.getLen(path.getBytes().length), 1, 0, 4);//4位长度 204 //组合数据包 205 for (int i = 0; i < path.getBytes().length; i++) 206 buffer[i + 5] = path.getBytes()[i]; 207 socketOut.write(buffer, 0, path.getBytes().length + 5);//前五位为头部1位标识+4位长度 208 //标识为数据段已结束,并发送至服务器 209 buffer[0] = AUPD.MARK_DATA_END; 210 socketOut.write(buffer, 0, 1); 211 socketOut.flush(); 212 //检查客户端是否收到 213 len = socketIn.read(bFlag,0,1); 214 if(len!=1) 215 { 216 Config.print(socket.getInetAddress()+":读取标识位失败"); 217 socke |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于CS结构软件自动升级实现(三) - 编程入门网的所有评论