void Listener_OnNewConnection(System.Net.Sockets.Socket s)
        {
            Console.WriteLine("Session Connecting: {0}", s.RemoteEndPoint);
            SOCKSServerSession session = new SOCKSServerSession(s, this);
            session.SOCKSServerMode = SOCKSServerMode;
            lock (SessionLock)
            {
                Sessions.Add(session);
            }

            session.DisconnectHandler += new SocketClient.SocketEventHandler(session_DisconnectHandler);
            session.Start();
        }
        public void CloseAndRemoveSession(SOCKSServerSession session)
        {
            try
            {
                session.Disconnect();
            }
            catch (Exception ex)
            {
            }

            lock (SessionLock)
            {
                if (Sessions.Contains(session) == true)
                    Sessions.Remove(session);
            }
        }