Esempio n. 1
0
        private void OnServerOffReceived(DataReceivedModel data)
        {
            var rg = new Regex(@"\r\[\s*(?<value>\w+)\s*\]\s*Stopping[^:]+:\s*csserver");

            if (rg.IsMatch(data.Data))
            {
                data.ServerStates = rg.Matches(data.Data)
                                    .Cast <Match>()
                                    .Select(m => new ServerStateModel
                {
                    ParameterName  = "ServerOFF",
                    ParameterValue = m.Groups["value"].Value
                }).ToList();
            }
        }
Esempio n. 2
0
        private static void MonitorStateServer(DataReceivedModel data)
        {
            var state = data.ServerStates?.FirstOrDefault(o => o.ParameterName.Equals("ServerOFF"));

            if (state != null)
            {
                //_server.DataReceived -= _server_DataReceived;
                Console.WriteLine($"Сервер {_connectparam.FamilyGame} остановлен.");
                _connectparam   = null;
                _server         = null;
                _isWriteCommand = true;
                WriteCommand();
            }
            state = data.ServerStates?.FirstOrDefault(o => o.ParameterName.Equals("Console"));
            if (state != null && state.ParameterValue == "Ready")
            {
                _isConsoleOpen = true;
            }
            state = data.ServerStates?.FirstOrDefault(o => o.ParameterName.Equals("Status"));
            if (state != null && state.ParameterValue == "Ready")
            {
                //CloseConsole();
                _isConsoleOpen = false;
                foreach (var el in data.ServerStates)
                {
                    Console.WriteLine($"{el.ParameterName} : {el.ParameterValue}");
                }
                Console.Write("|");
                foreach (var head in data.TableInfo.Headers)
                {
                    Console.Write($"{head}\t|");
                }
                Console.Write('\n');
                if (data.TableInfo.Values.Any())
                {
                    Console.Write("|");
                }
                foreach (var value in data.TableInfo.Values)
                {
                    Console.Write($"{value}\t|");
                }
                Console.Write('\n');
                WriteCommand();
            }
        }
Esempio n. 3
0
 private static void _server_DataReceived(object sender, DataReceivedModel data)
 {
     Console.Write(data.Data);
     MonitorStateServer(data);
 }