Клиент - сервер. Где использовать Using для TcpClient? - C#

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

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

Вот мы запускаем Server
new Server(80);
internal class Server
    {
        private readonly TcpListener Listener;
 
        public Server(int Port)
        {
            Listener = new TcpListener(IPAddress.Any, Port);
            Listener.Start();
            while (true)
            {
                ThreadPool.QueueUserWorkItem(new WaitCallback(ClientThread), Listener.AcceptTcpClient());
                int workerThreads = Environment.ProcessorCount * 8;
                ThreadPool.SetMaxThreads(workerThreads, workerThreads);
                ThreadPool.SetMinThreads(2, 2);
            }
        }
 
        public void ClientThread(object StateInfo)
        {
            try
            {
                new Client((TcpClient)StateInfo);
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
 
        ~Server()
        {
            Listener?.Stop();
        }
    }
// Тут использовать using?
  class Client
        {
            public Client(TcpClient client)
            {
                using (client)
                {
                    // код
                }
            }
        }

Решение задачи: «Клиент - сервер. Где использовать Using для TcpClient?»

textual
Листинг программы
        public void ClientThread(object StateInfo)
        {
            try
            {
                using(var tcpClient = StateInfo as TcpClient) {
                   var client = new Client(tcpClient); // только инициализируется, но ничего не делает
                   client.ProcessRequest();
                }
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

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


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

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

12   голосов , оценка 4.167 из 5
Похожие ответы