快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
内容长度 312 byte data[] = new byte[cLen]; 313 len = socketIn.read(data, 0, cLen); 314 int totLen = len; 315 while (totLen < cLen)//不足位要重重读取 316 { 317 fout.write(data,0,len); 318 len = socketIn.read(data, 0, cLen - totLen); 319 totLen = totLen + len; 320 } 321 fout.write(data,0,len); 322 }else if(flagb[0]==AUPD.MARK_DATA_END)//数据结束 323 { 324 isOk = true; 325 break; 326 }else 327 { 328 Config.print(socket.getInetAddress()+":收到非期望数据,"+new String(flagb,0,1)+"<<"); 329 break; 330 } 331 }//END while 332 fout.flush(); 333 fout.close(); 334 if(isOk) 335 { 336 Config.print("成功更新文件:"+file.getAbsolutePath()); 337 return true; 338 }else 339 { 340 Config.print("更新文件:"+file.getAbsolutePath()+"失败"); 341 return false; 342 } 343 }catch(Exception e) 344 { 345 Config.print("下载更新文件''"+currFileAbs+"''失败,"+e); 346 e.printStackTrace(); 347 return false; 348 } 349 } 350 //发送客户端版本信息 351 private void sendClientVer() 352 { 353 try 354 { 355 File verFile = new File(Config.cfgFile); 356 if(!verFile.isFile() || !verFile.exists()) 357 { 358 Config.print("版本信息文件不存在"); 359 return; 360 } 361 //开始发送 362 FileInputStream fis = new FileInputStream(verFile); 363 byte buffer[] = new byte[AUPD.BUFFER_SIZE]; 364 byte data[] = new byte[AUPD.DATA_SIZE]; 365 int len = 0; 366 while((len=fis.read(data))!=-1) 367 { 368 //标识为数据段 369 buffer[0] = AUPD.MARK_DATA_SECT; 370 Config.copyArray(buffer,Config.getLen(len),1,0,4);//4位长度 371 //组合数据包 372 for (int i=0; i<len; i++) 373 buffer[i+5] = data[i];//前五位为头部1位标识+4位长度 374 socketOut.write(buffer,0,len+5);//发送数据 375 }//END while 376 //标识为数据段已结束,并发送至服务器 377 buffer[0] = AUPD.MARK_DATA_END; 378 socketOut.write(buffer,0,1); 379 socketOut.flush(); 380 fis.close(); 381 Config.print("版本信息传送完毕"); 382 }catch(Exception e) 383 { 384 Config.print("发送版本信息给服务器失败,"+e); 385 e.printStackTrace(); 38

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号