public static void RequestFiles(string serverIP, int port, string receiveDirectory) { new Thread(() => { // Generate the socket //TcpClient tcp = new TcpClient(); IPAddress clientIP = IPAddress.Parse(IPManager.ExtractIPAddress(IPManager.CompileNetworkConfigString(port))); TcpClient client = new TcpClient(new IPEndPoint(clientIP, port)); // Connect to the server int serverPort = Config.Ports.ClientServerConnection; //IPAddress serverIP = IPAddress.Any; IPAddress serverIPAddress = IPAddress.Parse(serverIP); client.Connect(serverIPAddress, serverPort); // After awaiting the connection, receive data appropriately Socket socket = client.Client; ReceiveFiles(socket, receiveDirectory); socket.Shutdown(SocketShutdown.Both); socket.Close(); }).Start(); }