public override IResult Execute() { #region Code for sending command to remote system PacketElements CommandPacketElems = new PacketElements(); CommandPacketElems.ActualCommand = Command; long HeaderValue = long.Parse(ConfigurationSettings.AppSettings["CommandHeader"]); CommandPacketElems.Header = HeaderValue; PackCommand CommandPckt = new PackCommand(); CommandPckt.PacketElements = CommandPacketElems; TransmitCommand SendCmd = new TransmitCommand(); SendCmd.DataPacket = CommandPckt.CommandPack; SendCmd.RemoteSystemName = NetParams.RemoteSystemName; SendCmd.SendCommand(); #endregion #region Code for receiving result from remote system ReceiveResult ReceiveData = new ReceiveResult(); ResultPacketElement ResultElements = ReceiveData.GetResultPacket(); IResult Result = new ExecutionResult(); if (ResultElements.Header == int.Parse(ConfigurationSettings.AppSettings["ResultHeader"])) { Result = ResultElements.ActualResult; } else { throw(new ApplicationException("Corrupted Result")); } #endregion return(Result); }
public void ExecuteRemoteCommand() { ReceiveCommand GetCmd = new ReceiveCommand(); PacketElements CmdPacketElement = GetCmd.GetCommandPacket(); Command = CmdPacketElement.ActualCommand; IResult ExecResult = Execute(); ResultPacketElement ResultElement = new ResultPacketElement(); ResultElement.ActualResult = ExecResult; ResultElement.Header = int.Parse(ConfigurationSettings.AppSettings["ResultHeader"]); PackResult PackRes = new PackResult(); PackRes.ResultPacketElements = ResultElement; byte[] ResultPacket = PackRes.ResultPack; TransmitResult SendResult = new TransmitResult(); SendResult.DataPacket = ResultPacket; SendResult.RemoteSystemName = GetCmd.SenderIP; SendResult.SendResult(); }