public static void waitForClients(object state) { if (listener == null) { listener = new TcpListener(Port); } listener.Start(); //Console.WriteLine("Waiting for clients..."); while (listening) { while (!listener.Pending() && listening) { Thread.Sleep(100); } if (listening) { ConnectionThread ct = new ConnectionThread(); ct.client = listener.AcceptTcpClient(); ThreadPool.QueueUserWorkItem(new WaitCallback(ct.ServerHandleConnection)); } } listener.Server.Close(); listener.Stop(); listener = null; }
public static bool Join(string IPAddress) { TcpClient client = new TcpClient(); try { client.Connect(IPAddress, Port); } catch { return(false); } isHost = false; ConnectionThread ct = new ConnectionThread(); ct.client = client; ThreadPool.QueueUserWorkItem(new WaitCallback(ct.ClientHandleConnection)); return(true); }