Exemplo n.º 1
0
        public static ITcpCommand Create(CmdCode cmdCode, byte[] netData)
        {
            ITcpCommand tcpCommand;

            switch (cmdCode)
            {
            case CmdCode.Heart:
                tcpCommand = new TcpCommand_Heart();
                break;

            case CmdCode.RioTopoGet:
                tcpCommand = new TcpCommand_RioTopoGet();
                break;

            case CmdCode.UpLoadApp:
                tcpCommand = new TcpCommand_UpLoadApp();
                break;

            case CmdCode.StartApp:
                tcpCommand = new TcpCommand_StartApp();
                break;

            case CmdCode.StopApp:
                tcpCommand = new TcpCommand_StopApp();
                break;

            default:
                throw new System.ArgumentException("can't find the cmdCode", "cmdCode");
            }

            tcpCommand.DeserializeFromNet(netData);
            return(tcpCommand);
        }
Exemplo n.º 2
0
        public void DeployFiles()
        {
            var tcpManager = TcpManager.Instance;

            try
            {
                string ip = tcpManager.ipList[0];
                //轮询发送更新文件
                for (int i = 0; i < _matchNode.Count; i++)
                {
                    var lvItem = ComponentLV.Items[i];
                    if (lvItem.SubItems[_LvFilePathNum].Text != String.Empty)       //判断是否上传了文件
                    {
                        var node      = _matchNode[i];
                        var choosedFs = (FileStream)(_exeFileList[i]);
                        var fileName  = choosedFs.Name.Substring(choosedFs.Name.LastIndexOf("\\") + 1);

                        var cmd = new TcpCommand_UpLoadApp(fileName, node.SNode.SlotId + 1, node.SNode.NodeType, choosedFs);
                        tcpManager.SendOneCmd(ip, cmd);
                    }
                }

                //发送开始命令
                tcpManager.SendOneCmd(ip, new TcpCommand_StartApp());
            }
            catch (Exception ex)
            {
                MessageBox.Show("ExeFileForm:" + ex.Message);
            }
        }