快速业务通道

CS结构软件自动升级实现(三) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
K_DATA_END)//数据结束 232 { 233 isOk = true; 234 break; 235 }else 236 { 237 Config.print(socket.getInetAddress()+":收到非期望数据,"+new String(flagb,0,1)+"<<"); 238 break; 239 } 240 }//END while(true) 241 if(isOk)//成功 242 { 243 absPath = strBuf.toString(); 244 }else//失败 245 { 246 socketOut.write(Config.getCmd(AUPD.BYE));//结束 247 } 248 }catch(Exception e) 249 { 250 Config.print("接收文件全路径处理失败,"+e); 251 } 252 return absPath; 253 } 254 private boolean receiveFile(byte flag) 255 { 256 try 257 { 258 if(currFileAbs==null||currFileAbs.equals("")) 259 { 260 Config.print("无法获取更新文件信息,更新失败"); 261 return false; 262 } 263 File file; 264 //先检查目录是否存在 265 //得到目录 266 int idx = currFileAbs.lastIndexOf(File.separator); 267 String path = currFileAbs.substring(0,idx); 268 file = new File(path); 269 if(!file.isDirectory() || !file.exists()) 270 { 271 Config.print("新创建目录:"+path); 272 file.mkdir(); 273 } 274 file = new File(currFileAbs); 275 FileOutputStream fout = new FileOutputStream(file); 276 //接收数据缓冲区 277 byte flagb[] = new byte[1];//标志 278 byte lenb [] = new byte[4];//长度 279 int len = -1; 280 boolean isFirst = true; 281 boolean isOk = false; 282 flagb[0] = flag; 283 //接收上传的文件数据 284 while (true) 285 { 286 //第一次 287 if(isFirst) 288 { 289 isFirst = false; 290 }else 291 { 292 len = socketIn.read(flagb,0,1);//读取标识位 293 if(len != 1) 294 { 295 Config.print(socket.getInetAddress() + ":读取数据标识位失败"); 296 break; 297 } 298 } 299 //读取数据长度 300 if(flagb[0]==AUPD.MARK_DATA_SECT) 301 { 302 len = socketIn.read(lenb, 0, 4); 303 if (len != 4) 304 { 305 Config.print(socket.getInetAddress() + ":读取数据头部失败"); 306 break; 307 } 308 } 309 if (flagb[0] == AUPD.MARK_DATA_SECT)//数据内容 310 { 311 int cLen = Integer.parseInt(new String(lenb, 0, 4));//数据

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号