示例#1
0
        /// <summary>
        /// Dispose the Listener.
        /// </summary>
        public void Dispose()
        {
            IsActive = false;

            if (TcpListener != null)
            {
                TcpListener.Stop();
            }
            if (Client != null)
            {
                Client.Close();
            }
            if (Reader != null)
            {
                Reader.Dispose();
            }

            for (int i = 0; i < ThreadCollection.Count; i++)
            {
                if (ThreadCollection[i].IsAlive)
                {
                    ThreadCollection[i].Abort();
                }
            }
            ThreadCollection.RemoveRange(0, ThreadCollection.Count);

            Core.Logger.Log("RCON Listener Disposed.", Logger.LogTypes.Info);
        }
示例#2
0
        public void Dispose()
        {
            IsActive = false;

            Listener?.Stop();

            for (int i = 0; i < ThreadCollection.Count; i++)
            {
                if (ThreadCollection[i].IsAlive)
                {
                    ThreadCollection[i].Abort();
                }
            }
            ThreadCollection.RemoveRange(0, ThreadCollection.Count);

            for (int i = 0; i < Clients.Count; i++)
            {
                Clients[i].Dispose();
            }

            Clients.Clear();

            Core.Logger.Log("SCON Listener Disposed.", Logger.LogTypes.Info);
        }