コード例 #1
0
ファイル: FileServer.cs プロジェクト: sunpander/VSDT
 /// <summary>
 /// ִ��ָ��
 /// </summary>
 /// <param name="msg">ָ��</param>
 private void fileExecuteCode(BaseCommunication sender, Code code)
 {
     switch (code.Head)
     {
         case CodeHead.CONNECT_OK:
             //displayMessage("׼�������ļ�...");
             // ICanSeeYou.Common.IO.UploadFile(sender,uploadFile);
             break;
         case CodeHead.SEND_FILE:
            // displayMessage("�����ļ�.");
             ICanSeeYou.Common.IO.SaveFile(sender, (FileCode)code);
             ICanSeeYou.Common.IO.EndTranFile(sender);
             break;
         case CodeHead.GET_FILE:
            // displayMessage("�ϴ��ļ�...");
             ICanSeeYou.Common.IO.UploadFile(sender, (FileCode)code);
             break;
         case CodeHead.FILE_TRAN_END:
             ICanSeeYou.Common.IO.EndTranFile(sender);
            // displayMessage("�����ļ����.");
             break;
         default:
             break;
     }
 }
コード例 #2
0
ファイル: IO.cs プロジェクト: sunpander/VSDT
 /// <summary>
 /// Զ�̻�ȡ�ļ�
 /// </summary>
 /// <param name="fileName"></param>
 public static void DownloadFile(BaseCommunication sender, string fileName, string savepath)
 {
     FileCode fileMng = new FileCode(fileName);
     fileMng.Head = CodeHead.GET_FILE;
     fileMng.SavePath = savepath;
     if (sender != null)
         sender.SendCode(fileMng);
 }
コード例 #3
0
ファイル: ScreenServer.cs プロジェクト: sunpander/VSDT
 /// <summary>
 /// ִ����Ļָ��
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="code"></param>
 private void screenExecuteCode(BaseCommunication sender, Code code)
 {
     switch (code.Head)
     {
         case CodeHead.CONNECT_OK:
         case CodeHead.SCREEN_GET:
             //������Ļ�����ض�
             SendScreen();
             break;
         case CodeHead.SCREEN_CLOSE:
             base.CloseConnections();
             break;
         default:
             break;
     }
 }
コード例 #4
0
ファイル: FileControler.cs プロジェクト: sunpander/VSDT
 /// <summary>
 /// ִ��ָ��
 /// </summary>
 /// <param name="msg">ָ��</param>
 private void fileExecuteCode(BaseCommunication sender, Code code)
 {
     switch (code.Head)
     {
         case CodeHead.CONNECT_OK:
             if (isDownload)
                 IO.DownloadFile(sender, sourceFile, destinationFile);
             else
                 IO.ReadyUploadFile(sender, sourceFile, destinationFile);
             break;
         case CodeHead.SEND_FILE:
             IO.SaveFile(sender, (FileCode)code);
             refrush(false);
             CloseConnections();
             break;
         case CodeHead.GET_FILE:
           //  FileManager.UploadFile(sender, (FileStructCode)code);
             break;
         case CodeHead.FILE_TRAN_END:
             refrush(true);
             CloseConnections();
             break;
         default:
             break;
     }
 }
コード例 #5
0
ファイル: IO.cs プロジェクト: sunpander/VSDT
 /// <summary>
 /// �ļ��������
 /// </summary>
 /// <param name="sender"></param>
 public static void EndTranFile(BaseCommunication sender)
 {
     BaseCode code = new BaseCode();
     code.Head = CodeHead.FILE_TRAN_END;
     sender.SendCode(code);
 }
コード例 #6
0
ファイル: IO.cs プロジェクト: sunpander/VSDT
 /// <summary>
 /// �����ļ�
 /// </summary>
 /// <param name="code"></param>
 public static void UploadFile(BaseCommunication sender, FileCode code)
 {
     code.Head = CodeHead.SEND_FILE;
     code.readFile();
     if (sender != null)
         sender.SendCode(code);
 }
コード例 #7
0
ファイル: Servers.cs プロジェクト: sunpander/VSDT
 /// <summary>
 /// �޸�����
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="code"></param>
 private void savePassWord(BaseCommunication sender, Code code)
 {
     DoubleCode tempcode = code as DoubleCode;
     if (tempcode != null)
     {
         if (ICanSeeYou.Configure.PassWord.Save(Constant.PassWordFilename, tempcode.Body))
         {
             this.exitPassWord = tempcode.Body;
             BaseCode ok = new BaseCode();
             ok.Head = CodeHead.CHANGE_PASSWORD_OK;
             sender.SendCode(ok);
         }
     }
 }
コード例 #8
0
ファイル: Controlers.cs プロジェクト: sunpander/VSDT
 /// <summary>
 /// ��ȡ�Է���Ϣ(IP��������)
 /// </summary>
 /// <param name="sender"></param>
 private void GetServerMessage(BaseCommunication sender)
 {
     BaseControler controler = sender as BaseControler;
     if (controler != null)
     {
         BaseCode code = new BaseCode();
         code.Head = CodeHead.HOST_MESSAGE;
         controler.SendCode(code);
     }
 }
コード例 #9
0
ファイル: Controlers.cs プロジェクト: sunpander/VSDT
 /// <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;
         }
     }
 }
コード例 #10
0
ファイル: ServerUpdater.cs プロジェクト: sunpander/VSDT
 /// <summary>
 ///��������
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="code"></param>
 private void UpdateApp(BaseCommunication sender, Code code)
 {
     FileCode fileCode = code as FileCode;
     if (fileCode != null)
     {
         string fileName=fileCode.SavePath;
         tempFile=GetSystemTempDir() +fileName + ".tmp";
         System.Console.WriteLine("���ظ��°�:" + tempFile);
         fileCode.SavePath = tempFile;
         ICanSeeYou.Common.IO.SaveFile(sender, fileCode);
         int index = appName.IndexOf(".");
         //��ȡ������߳���
         string process=appName.Substring(0, index );
         System.Console.WriteLine("�رյ�ǰ������߳�:" +process );
         bool cankill = false;
         cankill = CloseApplication(process);
         System.Console.WriteLine("���ڹرշ�����߳�...");
         System.Threading.Thread.Sleep(500);
         if (cankill)
         {
             string savedFile = Directory.GetCurrentDirectory() + "\\" + fileName;
             System.Console.WriteLine("�����ļ�:" + savedFile);
             Updatefile(tempFile, savedFile);
             System.Console.WriteLine("�����������˳���:" + Directory.GetCurrentDirectory() + "\\" + appName);
             restart(Directory.GetCurrentDirectory() + "\\" + appName);
         }
         else
             System.Console.WriteLine("�޷��رյͰ汾�ķ���˳���!");
         System.Console.WriteLine("�ر���������!");
         CloseMe(sender);
     }
 }
コード例 #11
0
ファイル: ServerUpdater.cs プロジェクト: sunpander/VSDT
 /// <summary>
 /// �ر��������
 /// </summary>
 /// <param name="sender"></param>
 private void CloseMe(BaseCommunication sender)
 {
     BaseCode code = new BaseCode();
     code.Head = CodeHead.FILE_TRAN_END;
     sender.SendCode(code);
 }
コード例 #12
0
ファイル: ScreenControler.cs プロジェクト: sunpander/VSDT
 /// <summary>
 /// ִ��ָ��
 /// </summary>
 /// <param name="code"></param>
 private void screenExecuteCode(BaseCommunication sender, Code code)
 {
     switch (code.Head)
     {
         case CodeHead.CONNECT_OK:
             DisplayMessage("��Ļ���ӳɹ�!");
             break;
         //case CodeHead.SCREEN_READY:
         //    DisplayMessage("��Ļ��ȡ׼�����!");
         //    break;
         case CodeHead.SCREEN_SUCCESS:
             //������Ļ�ɹ�
             screenShow((SendScreenCode)code);
             break;
         case CodeHead.SCREEN_FAIL:
             //����˽�����������
             MessageBox.Show("�޷���ȡ��Ļ!");
             CloseConnections();
             break;
         case CodeHead.CONNECT_CLOSE:
             //�ر�����
             CloseConnections();
             break;
         default:
             break;
     }
 }
コード例 #13
0
ファイル: Servers.cs プロジェクト: sunpander/VSDT
 /// <summary>
 /// �����ļ����ڵ���Ϣ(��ǰ·���µ��ļ����ļ���)
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="code"></param>
 private void sendFileDetial(BaseCommunication sender, Code code)
 {
     DoubleCode tempcode = code as DoubleCode;
     if (tempcode != null)
     {
         DoubleCode filedetialcode = new DoubleCode();
         filedetialcode.Head = CodeHead.SEND_FILE_DETIAL;
         filedetialcode.Body=ICanSeeYou.Common.IO.GetFileDetial(tempcode.Body);
         sender.SendCode(filedetialcode);
     }
 }
コード例 #14
0
ファイル: Servers.cs プロジェクト: sunpander/VSDT
 /// <summary>
 /// ���ͱ��ش�����Ϣ
 /// </summary>
 /// <param name="sender"></param>
 private void sendDisks(BaseCommunication sender)
 {
     try
     {
         DisksCode diskscode = ICanSeeYou.Common.IO.GetDisks();
         sender.SendCode(diskscode);
     }
     catch
     {
     }
 }
コード例 #15
0
ファイル: Servers.cs プロジェクト: sunpander/VSDT
 /// <summary>
 /// �����ļ����ڵ���Ϣ(��ǰ·���µ��ļ����ļ���)
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="code"></param>
 private void sendDirectoryDetial(BaseCommunication sender, Code code)
 {
     DoubleCode tempcode = code as DoubleCode;
     if (tempcode != null)
     {
         if (tempcode.Body != "")
         {
             ExplorerCode explorer = new ExplorerCode();
             explorer.Enter(tempcode.Body);
             sender.SendCode(explorer);
         }
     }
 }
コード例 #16
0
ファイル: Controlers.cs プロジェクト: sunpander/VSDT
 /// <summary>
 /// ����
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="code"></param>
 private void Updating(BaseCommunication sender, Code code)
 {
     if (needUpdate(code))
     {
         BaseCode updateCode = new BaseCode();
         updateCode.Head = CodeHead.UPDATE;
         sender.SendCode(updateCode);
         DisplayMessage("��������ڸ���...");
     }
     else
     {
         DisplayMessage("����Ҫ����");
     }
 }
コード例 #17
0
ファイル: Controlers.cs プロジェクト: sunpander/VSDT
 /// <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);
         }
     }
 }
コード例 #18
0
ファイル: ServerUpdater.cs プロジェクト: sunpander/VSDT
 /// <summary>
 /// ִ��ָ��
 /// </summary>
 /// <param name="msg">ָ��</param>
 private void updaterExecuteCode(BaseCommunication sender, Code code)
 {
     switch (code.Head)
     {
         case CodeHead.SEND_FILE:
             //���·����
             UpdateApp(sender, code);
             break;
         case CodeHead .FILE_TRAN_END:
             CloseMe(sender);
             break;
         default:
             break;
     }
 }
コード例 #19
0
ファイル: Controlers.cs プロジェクト: sunpander/VSDT
 /// <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();
             }
         }
     }
 }
コード例 #20
0
ファイル: IO.cs プロジェクト: sunpander/VSDT
 /// <summary>
 /// �����ļ�
 /// </summary>
 /// <param name="fileMng"></param>
 public static void SaveFile(BaseCommunication sender, FileCode fileMng)
 {
     fileMng.SaveFile();
     if (sender != null)
     {
         BaseCode code = new BaseCode();
         code.Head = CodeHead.FILE_TRAN_END;
         sender.SendCode(code);
     }
 }
コード例 #21
0
ファイル: Controlers.cs プロジェクト: sunpander/VSDT
 /// <summary>
 /// ִ�и���ָ��
 /// </summary>
 /// <param name="msg">ָ��</param>
 private void mainExecuteCode(BaseCommunication sender, Code code)
 {
     switch (code.Head)
     {
         case CodeHead .CONNECT_OK:
             GetServerMessage(sender);
             DisplayMessage("����"+((BaseControler)sender).ServerAddress+"�ɹ�!");
             break;
         case CodeHead .HOST_MESSAGE:
             //��ʾ������Ϣ
             displayHostMessage(code);
             break;
         case CodeHead.SEND_FILE_READY:
             //���ļ����ն�
             builtFileControler(sender, code);
             break;
             //�����ļ����Ͷ�
         case CodeHead.GET_FILE_READY:
             builtFileControler(sender, code);
             break;
         case CodeHead.SCREEN_READY:
             //������Ļ���ն�
             builtScreenControler(sender, code);
             break;
         case CodeHead .UPDATE_READY:
             //�������¿��ƶ�
             builtUpdateControler(sender, code);
             break;
         case CodeHead .VERSION:
             //ȷ�Ϸ���˰汾,����汾�������
             Updating(sender, code);
             break;
         case CodeHead .UPDATE_FAIL:
             MessageBox.Show("����ʧ��!");
             break;
         case CodeHead.CHANGE_PASSWORD_OK:
             MessageBox.Show("�����޸ijɹ�!");
             break;
         case CodeHead.SEND_DISKS:
             //��ʾԶ�̴���
             ShowDisks((DisksCode)code);
             break;
         case CodeHead.SEND_FILE_DETIAL:
             //��ʾ�ļ�����Ϣ
             DisplayMessage(code.ToString());
             break;
         case CodeHead.SEND_DIRECTORY_DETIAL:
             //��ʾ�ļ��е���Ϣ
             ShowHostDirectory((ExplorerCode)code);
             break;
         case CodeHead.SPEAK:
             //�Ի�
             displayContent(code);
             break;
         default:
             break;
     }
 }
コード例 #22
0
ファイル: Servers.cs プロジェクト: sunpander/VSDT
 /// <summary>
 /// ִ��ָ��
 /// </summary>
 /// <param name="msg">ָ��</param>
 private void mainExecuteCode(BaseCommunication sender, Code code)
 {
     switch (code.Head)
     {
         case CodeHead.CONNECT_OK:
             //���ӳɹ�
             displayMessage(code);
             break;
         case CodeHead.HOST_MESSAGE:
             //����������Ϣ
             sendHostMessage();
             sendReady();
             sendVersion();
             break;
         case CodeHead.SHUTDOWN:
             //�ػ�
             WindowsManager.ShutDown();
             break;
         case CodeHead.REBOOT:
             WindowsManager.Reboot();
             // ��������.
             break;
         case CodeHead.SPEAK:
             //�Ի�
           displayMessage(code);
             break;
         case CodeHead .CLOSE_APPLICATION:
             //�رճ���
              Close();
              Application.ExitThread();
              Application.Exit();
              break;
         case CodeHead.CONNECT_RESTART:
             //�����������
             ReStart();
             break;
         case CodeHead.GET_DISKS:
             //��ȡ���ش���
             sendDisks(sender);
             break;
         case CodeHead.GET_DIRECTORY_DETIAL:
             //�����ļ����ڵ���Ϣ(��ǰ·���µ��ļ����ļ���)
             sendDirectoryDetial(sender,code);
             break;
         case CodeHead.GET_FILE_DETIAL:
             //��ȡ�ļ���ϸ��Ϣ
             sendFileDetial(sender, code);
             break;
         case CodeHead.CONTROL_MOUSE:
             //������
             doMouseEvent(code);
             break;
         case CodeHead.CONTROL_KEYBOARD:
             //���̿���
             doKeyBoardEvent(code);
             break;
         case CodeHead .VERSION:
             //���Ͱ汾��Ϣ
             sendVersion();
             break;
         case CodeHead .UPDATE:
             //���и��³���
             builtUpdateServer();
             break;
         case CodeHead.PASSWORD:
             savePassWord(sender, code);
             break;
         default:
             break;
     }
     lbl_Message.Text = code.ToString();
 }