//初始化与次数统计 private StateStru TimeUpdate(StateStru States) { String Times = this.State.Text; int time; int first = Times.IndexOf(":"); int last = Times.IndexOf("\r\n"); Times = Times.Substring(first + 1, last - first - 4); time = int.Parse(Times) + 1; Times = time.ToString(); States.Value = "State(Times:" + Times + ")..\r\n小心心么么哒."; F5(States.Value); //States.Value = this.State.Text; States.col = 2; return(States); }
//输出结构体并更新 private StateStru LabelStick(StateStru StateBefore, string ToStick) { StateStru StateAfter; StateAfter.Value = StateBefore.Value + "\r\n" + ToStick; if (StateBefore.col + 1 >= 12) { StateBefore.col = StateAfter.Value.IndexOf("\r\n"); StateAfter.Value = StateAfter.Value.Substring(StateBefore.col + 4); StateAfter.col = StateBefore.col; } else { StateAfter.col = StateBefore.col + 1; } F5(StateAfter.Value); return(StateAfter); }
public void GetStatesMethod() { string Versions = ""; FtpHelper Ftp = new FtpHelper(); StateStru States; States.col = 0; States.Value = ""; States = TimeUpdate(States); VersionGet Ver = new VersionGet(); Ver.Send(); States = LabelStick(States, "正在连接FTP服务器..."); while (true) { if (Ver.SendStatus == -1) { States = LabelStick(States, Ver.SendMessage); ReStart(); return; } else if (Ver.SendStatus == 1) { States = LabelStick(States, Ver.SendMessage); while (true) { if (Ver.RecvStatus == -1) { States = LabelStick(States, Ver.RecvMessage); ReStart(); return; } else if (Ver.RecvStatus == 1) { States = LabelStick(States, "版本号:" + Ver.RecvMessage); Versions = Ver.RecvMessage; break; } } break; } } StateStru Vers = Read(".\\ssr-win\\version.txt"); string vers = Vers.Value; if (Vers.Value.Substring(Vers.Value.IndexOf("version") + 8, 4) == Versions) { States = LabelStick(States, "服务端版本未更新..正在启动.."); System.Diagnostics.Process.Start(".\\ssr-win\\ShadowsocksR-dotnet4.0.exe"); Closed(); } else { //int Large = -1; //调试 int Large = FtpHelper.GetFileSize("gui-config.json"); if (Large == -1) { States = LabelStick(States, "获取文件失败,请重试!"); ReStart(); } else { States = LabelStick(States, "正在获取文件大小..."); String SLarge = "获取成功,文件大小为" + Large.ToString() + "KB"; States = LabelStick(States, SLarge); States = LabelStick(States, "正在下载..."); //int Suc = -1; int Suc = Ftp.Download("gui-config.json"); if (Suc == -1) { States = LabelStick(States, "下载失败,请重试!"); ReStart(); } else { States = LabelStick(States, "下载完成"); vers = vers.Substring(0, vers.IndexOf("version") + 8) + Versions + "\n"; using (System.IO.StreamWriter file = new System.IO.StreamWriter(@".\\ssr-win\\version.txt", false)) { WriteData(file, vers); } System.Diagnostics.Process.Start(".\\ssr-win\\ShadowsocksR-dotnet4.0.exe"); Closed(); } } } }