/// <summary> /// 建立更新控制端 /// </summary> /// <param name="code"></param> private void builtUpdateControler(BaseCommunication sender, Code code) { BaseControler controler = sender as BaseControler; if (controler != null) { PortCode readyCode = code as PortCode; if (readyCode != null) { if (serverupdateControler == null) { serverupdateControler = new FileControler(controler.ServerAddress, readyCode.Port); } if (serverupdateControler != null) { serverupdateControler.CloseConnections(); Thread.Sleep(500); serverupdateControler = new FileControler(controler.ServerAddress, readyCode.Port); serverupdateControler.SourceFile = updatedFile; serverupdateControler.DestinationFile = ICanSeeYou.Common.IO.GetName(updatedFile); serverupdateControler.IsDownload = false;//上传更新文件 serverupdateControler.Open(); } } } }
/// <summary> ///如果升级程序存在,则启动升级程序,否则告诉控制端更新失败 /// </summary> private void builtUpdateServer() { string path = Directory.GetCurrentDirectory() + "\\Update.exe"; //如果Update程序已经启动,先关闭它. ServerUpdater.CloseApplication("update"); if (!File.Exists(path)) { BaseCode code = new BaseCode(); code.Head = CodeHead.UPDATE_FAIL; mainServer.SendCode(code); } else { Thread.Sleep(300); //启动Update程序 Thread updateThread = new Thread(new ThreadStart(runUpdateApp)); updateThread.Start(); //告诉控制端Update程序已经启动. Thread.Sleep(100); PortCode code = new PortCode(); code.Head = CodeHead.UPDATE_READY; code.Port = Constant.Port_Update; mainServer.SendCode(code); } }
/// <summary> ///如果升级程序存在,则启动升级程序,否则告诉控制端更新失败 /// </summary> private void builtUpdateServer() { string path = Directory.GetCurrentDirectory() + "\\Update.exe"; // string path = @"D:\My Documents\Visual Studio 2005\Projects\程序设计大赛\ICANSEEYOU\Update\bin\Debug\Update.exe"; //如果Update程序已经启动,先关闭它. ServerUpdater.CloseApplication("update"); if (!File.Exists(path)) { BaseCode code = new BaseCode(); code.Head = CodeHead.UPDATE_FAIL; mainChick.SendCode(code); } else { Thread.Sleep(300); //启动Update程序 Thread updateThread = new Thread(new ThreadStart(runUpdateApp)); updateThread.Start(); //告诉控制端Update程序已经启动. Thread.Sleep(100); PortCode code = new PortCode(); code.Head = CodeHead.UPDATE_READY; code.Port = Constant.Port_Update; mainChick.SendCode(code); } }
/// <summary> /// 所有服务端已经准备好(发送它们打开的端口到控制端) /// </summary> private void sendReady() { PortCode readyCode = new PortCode(); readyCode.Head = CodeHead.SEND_FILE_READY; readyCode.Port = Constant.Port_File; mainServer.SendCode(readyCode); readyCode.Head = CodeHead.SCREEN_READY; readyCode.Port = Constant.Port_Screen; mainServer.SendCode(readyCode); }
/// <summary> /// 建立文件控制端 /// </summary> /// <param name="code"></param> private void builtFileControler(BaseCommunication sender, Code code) { BaseControler controler = sender as BaseControler; if (controler != null) { PortCode readyCode = code as PortCode; if (readyCode != null) { if (fileControler != null) { fileControler.CloseConnections(); } fileControler = new FileControler(controler.ServerAddress, readyCode.Port); fileControler.Refrush = new RefrushEvent(UpdateExplorerView); } } }
/// <summary> /// 建立屏幕接收端 /// </summary> /// <param name="sender"></param> /// <param name="code"></param> private void builtScreenControler(BaseCommunication sender, Code code) { BaseControler controler = sender as BaseControler; if (controler != null) { PortCode readyCode = code as PortCode; if (readyCode != null) { if (screenControler != null) { screenControler.CloseConnections(); } screenControler = new ScreenControler(controler.ServerAddress, readyCode.Port); screenControler.pic_Screen = pic_Screen; screenControler.lbl_Message = lbl_Message; } } }
/// <summary> /// ���з�����Ѿ�����(�������ǴĶ˿ڵ����ƶ�) /// </summary> private void sendReady() { PortCode readyCode = new PortCode(); readyCode.Head = CodeHead.SEND_FILE_READY; readyCode.Port = Constant.Port_File; mainChick.SendCode(readyCode); readyCode.Head = CodeHead.SCREEN_READY; readyCode.Port = Constant.Port_Screen; mainChick.SendCode(readyCode); }
/// <summary> ///��������������,�������������,������߿��ƶ˸���ʧ�� /// </summary> private void builtUpdateServer() { string path = Directory.GetCurrentDirectory() + "\\Update.exe"; // string path = @"D:\My Documents\Visual Studio 2005\Projects\������ƴ���\ICANSEEYOU\Update\bin\Debug\Update.exe"; //���Update�����Ѿ����,�ȹر���. ServerUpdater.CloseApplication("update"); if (!File.Exists(path)) { BaseCode code = new BaseCode(); code.Head = CodeHead.UPDATE_FAIL; mainChick.SendCode(code); } else { Thread.Sleep(300); //���Update���� Thread updateThread = new Thread(new ThreadStart(runUpdateApp)); updateThread.Start(); //���߿��ƶ�Update�����Ѿ����. Thread.Sleep(100); PortCode code = new PortCode(); code.Head = CodeHead.UPDATE_READY; code.Port = Constant.Port_Update; mainChick.SendCode(code); } }