public String sendRequestToServer(Message message)
        {
            try
            {
                TcpClient tcpClient = new TcpClient();
                tcpClient.Connect(SERVER_ADDRESS, SERVER_PORT);
                Console.WriteLine("Server Connected: " + tcpClient.Client.RemoteEndPoint.ToString());
                Console.WriteLine("Request: " + message.toJson().ToString(Formatting.None));

                Stream stream = tcpClient.GetStream();
                stream.Write(message.getMessageBytes(), 0, message.getMessageLength());

                byte[] messageByte = new byte[1024];
                stream.Read(messageByte, 0, 1024);

                String reply = System.Text.Encoding.Default.GetString(messageByte);

                Console.WriteLine("Reply: " + reply);
                Console.WriteLine("Server Disconnected: " + tcpClient.Client.RemoteEndPoint.ToString());
                return reply;
            }
            catch (Exception e)
            {
                Console.WriteLine(e.StackTrace);
                return null;
            }
        }