static void Main(string[] args) { var console = new ColoredConsole(); var services = new ServiceCollection() .AddSingleton <IColoredConsole, ColoredConsole>(s => console) .AddSingleton <IQueueMonitor, AzureStorageQueueMonitor>() .BuildServiceProvider(); var app = new CommandLineApplication <AzureQueueMonitorApplication>(); app.Conventions.UseDefaultConventions() .UseConstructorInjection(services); try { app.Execute(args); } catch (CommandParsingException ex) { console.ColoredWriteLine($"<r>{ex.Message}</r>"); } catch (Exception ex) { Console.ResetColor(); Console.CursorVisible = true; Console.Clear(); console.ColoredWriteLine($"<r>An unexpected error ocurred: <w>{ex.Message}</w></r>"); } }
public void Send(string msg, bool GetReply) { if (IsConnected()) { try { if (GetReply) { try { Client.WriteLineAndGetReply(msg, TimeSpan.FromSeconds(3)); } catch (System.IO.IOException) { ColoredConsole.ColoredWriteLine("/// Connection to the server was lost! ///", ConsoleColor.Red); Disconnect(); } } else { try { Client.WriteLine(msg); } catch (System.IO.IOException) { ColoredConsole.ColoredWriteLine("/// Connection to the server was lost! ///", ConsoleColor.Red); Disconnect(); } } } catch (InvalidOperationException) { ColoredConsole.ColoredWriteLine("/// First connect to a server ///", ConsoleColor.Yellow); } catch (NullReferenceException) { ColoredConsole.ColoredWriteLine("/// First connect to a server ///", ConsoleColor.Yellow); } } else { ColoredConsole.ColoredWriteLine("/// First connect to a server ///", ConsoleColor.Yellow); } }
public void Connect(string ip, int port) { Client = new SimpleTcpClient { StringEncoder = Encoding.UTF8 }; Client.DataReceived += Client_DataReceived; try { Client.Connect(ip, port); Connected = true; } catch (System.Net.Sockets.SocketException) { ColoredConsole.ColoredWriteLine("/// Connection timed out ///", ConsoleColor.Red); } catch (ArgumentOutOfRangeException) { ColoredConsole.ColoredWriteLine("/// The port is invalid ///", ConsoleColor.Red); } }
static void Main(string[] args) { String cmd; var MainClient = new ClientLogic(); for (;;) { cmd = Console.ReadLine(); switch (cmd) { case "connect": { ColoredConsole.ColoredWrite("IP: ", ConsoleColor.Cyan); string ip = Console.ReadLine(); ColoredConsole.ColoredWrite("Port: ", ConsoleColor.Cyan); string port = Console.ReadLine(); int returnCode = Connect(MainClient, ip, port); switch (returnCode) { case 0: { ColoredConsole.ColoredWriteLine("/// Connected To Server ///", ConsoleColor.Green); break; } case 1: { ColoredConsole.ColoredWriteLine("/// The port is invalid ///", ConsoleColor.Red); break; } case 2: { ColoredConsole.ColoredWriteLine("/// A dependency was not found (SimpleTCP.dll) ///", ConsoleColor.Red); Console.ReadLine(); Environment.Exit(1); break; } case 3: { ColoredConsole.ColoredWriteLine("/// You are already connected... ///", ConsoleColor.Red); break; } } break; } case "disconnect": { int returnCode = Disconnect(MainClient); switch (returnCode) { case 0: { ColoredConsole.ColoredWriteLine("/// You successfully disconnected. ///", ConsoleColor.Yellow); break; } case 1: { ColoredConsole.ColoredWriteLine("/// How can you disconnect if you aren't connected? ///", ConsoleColor.Red); break; } } break; } case "exit": { ColoredConsole.ColoredWriteLine("/// You are going to exit... ///", ConsoleColor.Red); Console.ReadLine(); Environment.Exit(0); break; } case "send": { if (MainClient.IsConnected()) { while (cmd != "exit") { MainClient.SetMode(1); if (!MainClient.WritedMessage) { ColoredConsole.ColoredWrite("Message: ", ConsoleColor.Cyan); } MainClient.WritedMessage = false; cmd = Console.ReadLine(); if (!Regex.IsMatch(cmd, "^/")) { if (!string.IsNullOrWhiteSpace(cmd)) { MainClient.Send(cmd, true); } else { ColoredConsole.ColoredWriteLine("/// Write something... ///", ConsoleColor.Red); } } else { cmd = cmd.Substring(1); switch (cmd) { case "clear": { Console.Clear(); break; } } } } MainClient.SetMode(); MainClient.WritedMessage = false; break; } ColoredConsole.ColoredWriteLine("/// First you have to connect... ///", ConsoleColor.Red); break; } case "register": { int returnCode = Register(MainClient); switch (returnCode) { case 0: { ColoredConsole.ColoredWriteLine("/// You successfully registered! ///", ConsoleColor.Green); break; } case 1: { ColoredConsole.ColoredWriteLine("/// First you have to connect... ///", ConsoleColor.Red); break; } } break; } case "clear": { Console.Clear(); break; } } } }