Как правильно завершить поток сервера? - C#

Узнай цену своей работы

Формулировка задачи:

        {
 
            Listener = new TcpListener(Settings.ip, Settings.port); // Создаем "слушателя" для указанного порта
            Listener.Start(); // Запускаем его
            Settings.state = "Включен";
            // В бесконечном цикле
            while (true)
            {
                // Принимаем нового клиента
                TcpClient Client = Listener.AcceptTcpClient();
                // Создаем поток
                Thread Thread = new Thread(new ParameterizedThreadStart(ClientThread));
                // И запускаем этот поток, передавая ему принятого клиента
                Thread.Start(Client);
            }
Подскажите, как мне завершить 1 поток сервера и все потоки клиентов?

Решение задачи: «Как правильно завершить поток сервера?»

textual
Листинг программы
static TcpListener listener =  new TcpListener(IPAddress.Parse("127.0.0.1"), 8005);
        void start(int a)
        {
            Thread clientThread = new Thread(new ThreadStart(startS));
            if (a == 1)
            {
                clientThread.Start();
            }
            else
            {
                clientThread.Abort();
                listener.Stop();
            }
        }
        void startS()
        {
            try
            {
                listener.Start();
                //listBox1.Items.Add("Ожидание подключений...");
                while (true)
                {
                    TcpClient client = listener.AcceptTcpClient();
                    ClientObject clientObject = new ClientObject(client);
                    Thread clientThread = new Thread(new ThreadStart(clientObject.Process));
                    clientThread.Start();
                }
            }
            catch //(Exception ex)
            {
                //listBox1.Items.Add(ex.Message);
            }
            finally
            {
                if (listener != null)
                    listener.Stop();
            }
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.923 из 5