void OnFinishedCallback(bool succ) { m_succesed = succ; if (m_succesed) { LogUtils.Log(m_name + " download succ!"); try { //todo...move or decrompress string desName = PathUtils.GetPersistentPath() + m_name; PathUtils.MakeSureDirExist(desName); if (File.Exists(desName)) { File.Delete(desName); } File.Copy(m_tempFile.GetTempFileName(), desName); m_tempFile.Delete(); //check if (m_signature.Length > 0) { bool vaild = FileChecker.VerifyFileSignature(desName, m_signature); if (vaild == false) { File.Delete(desName); LogUtils.LogError(m_name + " VerifyFileSignature faild!"); } m_succesed = vaild; } } catch (System.Exception ex) { m_succesed = false; LogUtils.LogError(ex.ToString()); } } else { LogUtils.LogError(m_name + " download faild!"); } m_status = DownLoadTaskStatus.Finished; }
public override void OnEnter(Status oldStatus) { LogUtils.Log("enter app channel status"); verAddrCfg.item.Clear(); try { Uri requestUrl = new Uri("http://10.0.0.252:8080/channel_cfg/channel_ver_addr.json"); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(requestUrl); request.Timeout = 2000; HttpWebResponse respone = (HttpWebResponse)request.GetResponse(); long blockSize = respone.ContentLength; byte[] blockBuff = new byte[blockSize]; var respStream = respone.GetResponseStream(); int rec = respStream.Read(blockBuff, 0, (int)blockSize); respone.Close(); request.Abort(); string str = System.Text.Encoding.Default.GetString(blockBuff); verAddrCfg = JsonUtility.FromJson <ChannelVerAddrCfg>(str); int channelId = VersionUpdate.GetIns().GetChannelID(); for (int i = 0; i < verAddrCfg.item.Count; ++i) { if (verAddrCfg.item[i].id == channelId) { DownloadMgr.GetInst().SetBaseURL(verAddrCfg.item[i].addr); m_mgr.ChangeNextStatus(); return; } } LogUtils.LogError("can not find channel ver addr!"); } catch (System.Exception ex) { LogUtils.LogError(ex.ToString()); } }
public void Init() { m_statusMgr.RegisterStatus(new AppChannelStatus()); m_statusMgr.RegisterStatus(new GameVersionStatus()); m_statusMgr.RegisterStatus(new ResDownloadStatus()); m_statusMgr.RegisterStatus(new GameStatus()); DownloadMgr.GetInst().Init(); m_statusMgr.Init(); string verFile = PathUtils.GetVaildFullPath("version.json"); if (verFile.Length > 0) { m_verRes = SerializeHelper.LoadFromFile <VersionRes>(verFile); } if (m_verRes == null) { LogUtils.LogError("verFile can not find!"); return; } }