Beispiel #1
0
 public void Stop()
 {
     TwitchClient.Disconnect();
     Active = false;
     TokenSource.Cancel();
     SendingThread.Join();
 }
        protected virtual void Dispose(bool Disposing)
        {
            if (!isDisposed)
            {
                if (Disposing)
                {
                    Abort = true;
                    if (mreSender != null)
                    {
                        mreSender.Set();
                        mreSender.Dispose();
                    }

                    if (ServerConnectionThread != null && ServerConnectionThread.ThreadState == ThreadState.Running)
                    {
                        ServerConnectionThread.Abort();
                    }

                    if (SendingThread != null && SendingThread.ThreadState == ThreadState.Running)
                    {
                        SendingThread.Abort();
                    }
                    if (ServerStream != null)
                    {
                        ServerStream.Dispose();
                    }
                    try
                    {
                        if (Client != null)
                        {
                            Client.Close();
                        }
                    }
                    catch { }
                    isDisposed = true;
                }
            }
        }
Beispiel #3
0
 private void Dispose(bool Disposing)
 {
     if (!isDisposed)
     {
         if (Disposing)
         {
             abort = true;
             if (mreSender != null)
             {
                 mreSender.Set();
                 mreSender.Dispose();
             }
             if (mreListener != null)
             {
                 mreListener.Set();
                 mreListener.Dispose();
             }
             if (ListeningThread != null && ListeningThread.ThreadState == ThreadState.Running)
             {
                 ListeningThread.Abort();
             }
             if (ProcessThread != null && ProcessThread.ThreadState == ThreadState.Running)
             {
                 ProcessThread.Abort();
             }
             if (SendingThread != null && SendingThread.ThreadState == ThreadState.Running)
             {
                 SendingThread.Abort();
             }
             if (ServerStream != null)
             {
                 ServerStream.Dispose();
             }
             isDisposed = true;
         }
     }
 }