Example #1
0
        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>");
            }
        }
Example #2
0
 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);
     }
 }
Example #3
0
 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);
     }
 }
Example #4
0
        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;
                }
                }
            }
        }