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; } }