Beispiel #1
0
        static void Main(string[] args)
        {
            string serverName = "";
            string database   = "";
            string username   = "";
            string password   = "";

            Console.Write("Preset: ");
            string preset = Console.ReadLine();

            if (preset == "vuvm")
            {
                serverName = "localhost,54001";
                database   = "lh";
                username   = "******";
                password   = "******";
            }
            else if (preset == "local")
            {
                serverName = "193.219.91.103,14119";
                database   = "lh";
                username   = "******";
                password   = "******";
            }
            else
            {
                Console.Write("Server name:");
                serverName = Console.ReadLine();
                Console.Write("Database name:");
                database = Console.ReadLine();
                Console.Write("Username:"******"Password:"******"Enter the port: ");
                    string portStr = Console.ReadLine();
                    try
                    {
                        port = ushort.Parse(portStr);
                    }
                    catch
                    {
                        Console.WriteLine("Invalid port");
                        continue;
                    }
                    break;
                }

                TCPServer      server         = new TCPServer(port);
                RequestHandler requestHandler = new RequestHandler(db, server);
                requestHandler.Start();

                //Thread serverThread = new Thread(new ThreadStart(RunServer));
                //serverThread.Start();

                Console.WriteLine("Server started.");
                while (true)
                {
                    string input = Console.ReadLine();
                    if (input == "quit" || input == "exit")
                    {
                        Environment.Exit(0);
                    }
                    else if (input == "restart" || input == "rs")
                    {
                        context.Dispose();
                        context = new MainDbContext(serverName, database, username, password);
                        db      = new Database(context);
                    }
                    else if (input == "clients")
                    {
                        Console.WriteLine($"{server.ClientCount()} clients | {server.ThreadCount()} threads");
                        continue;
                    }

                    object result;
                    lock (mData)
                    {
                        result = db.Execute(input);
                    }
                    if (result != null)
                    {
                        Console.WriteLine(result);
                    }
                    else
                    {
                        Console.WriteLine("Command returned null");
                    }
                }
            }
        }