Клиент - сервер. Где использовать Using для TcpClient? - C#
Формулировка задачи:
Вот мы запускаем Server
// Тут использовать using?
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(); } }
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); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д