快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
rivate Socket socket = null; 31 private OutputStream socketOut; 32 private InputStream socketIn; 33 private Config config = Config.getInstance();//配置文件对像 34 private String currFileAbs = "";//当前更新文件的全路径 35 public AutoUpdateClient() 36 { 37 try 38 { 39 socket = new Socket(config.getServerIp(),Integer.parseInt(config.getServerPort())); 40 socket.setSoTimeout(30000);//30秒 41 }catch(Exception e) 42 { 43 Config.print("创建与自动升级服务器之间的连接失败,"+e); 44 e.printStackTrace(); 45 } 46 } 47 public void update() 48 { 49 if(socket == null) 50 { 51 Config.print("无法与服务器连接,升级失败"); 52 return; 53 } 54 try 55 { 56 socketOut = socket.getOutputStream(); 57 socketIn = socket.getInputStream(); 58 59 //开始升级处理 60 byte flag [] = new byte[1]; 61 byte cmd[] = new byte[8];//命令 62 byte datahead [] = new byte[5];//数据头部,第一位用于标识是数据,后四位为长度 63 byte buffer[] = new byte[AUPD.BUFFER_SIZE];//存放数据头部和数据头部 64 byte data[] = new byte[AUPD.DATA_SIZE];//存放具体的数据内容 65 //发送本地版本信息给服务器 66 socketOut.write(Config.getCmd(AUPD.SEND_CLIENT_VERSION));//发送传输版本信息命令 67 sendClientVer();//发送版本信息 68 while(true) 69 { 70 //读取信息 71 int len = socketIn.read(flag,0,1); 72 if(len!=1) 73 { 74 Config.print("读取标识位失败"); 75 socketOut.write(Config.getCmd(AUPD.BYE));//结束 76 break; 77 } 78 if(flag[0]==AUPD.CMD_DATA_SECT)//命令行 79 { 80 len = socketIn.read(cmd,0,8); 81 if(len!=8) 82 { 83 Config.print("读取命令失败"); 84 socketOut.write(Config.getCmd(AUPD.BYE));//结束 85 break; 86 } 87 if(Config.parseCmd(cmd).equals(AUPD.RECEIVED_CLIENT_VERSION))//收到版本信息 88 { 89 Config.print("服务器成功收到版本信息"); 90 socketOut.write(Config.getCmd(AUPD.READY_TO_UPDATE)); 91 continue; 92 }else if(Config.parseCmd(cmd).equals(AUPD.SEND_FILE_ABSOULT))//接收文件全路径 93 { 94 Config.print("开始接收文件路径名"); 95 }else if(Config.parseCmd(cmd).equals(AUPD.UPDATED_FAILURE))//更新失败 96 { 97 Config.print("版本更新失败"); 98

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