static void Main(string[] args) { Communication Client = new Communication(); // Send Client Alive via the UDP Protocol to a determined port UDPport Thread UdpThread = new Thread(new ThreadStart(Client.UDPClientAlive)); UdpThread.Start(); Client.ClientAliveThreadID = UdpThread.ManagedThreadId; // Listen for a Sever Response over TCP Thread tcpListen = new Thread(new ThreadStart(Client.TCPListen)); tcpListen.Start(); tcpListen.Join(); // Kill the Client Alive Thread Once TCP Communication is detected // First Message from Kinect: Establish Connection Client.TcpRecieveAndSendAck(Client.tcp); // Second Message from Kinect: Receive Initial Kinect Data Client.TcpRecieveAndSendAck(Client.tcp); while (true) { } }