public void Run() { Running = true; Console.WriteLine("Listener: Starting on port " + Port); Thread.Sleep(500); sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP); sock.Bind(new IPEndPoint(Dns.Resolve(Host).AddressList[0], Port)); sock.Listen(0); while (Running && Thread.CurrentThread.ThreadState == ThreadState.Running) { Socket conn = null; try { conn = sock.Accept(); } catch (Exception) { } if (conn != null) { Console.WriteLine("Got incoming connection!"); RequestThread requestthread = new RequestThread(); requestthread.Connection = conn; Thread requestthreadthread = new Thread(new ThreadStart(requestthread.Run)); requestthreadthread.Start(); } } Console.WriteLine("Listener: Stopping thread."); sock.Disconnect(false); sock.Close(); Console.WriteLine("Listener: Stopped."); Thread.CurrentThread.Abort(); }
public void StopRequestThread() { RequestThreadIsRunning = false; ProxyHandler.IsChecking = false; RequestThread.Interrupt(); }
public void StartRequestThread() { RequestThread.Start(); RequestThreadIsRunning = true; ProxyHandler.IsChecking = true; }