public void Stop() { if (publish) { concealServer(); } isRunning = false; listener.Stop(); foreach (Mp3Streamer ms in streamerList) { ms.Dispose(); } streamerList.Clear(); UpdateClientList?.Invoke(this, null); while (threadRunning) { Thread.Sleep(100); } }
private void CleanStreamerList() { bool changed = false; for (int i = 0; i < streamerList.Count;) { if (streamerList[i].disposed) { streamerList.RemoveAt(i); changed = true; } else { i++; } } if (changed) { UpdateClientList?.Invoke(this, null); } }