using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Sockets; using System.Text; using System.Threading; using System.Threading.Tasks; namespace lab1 { class Program { static void Main(string[] args) { TcpListener server = new TcpListener(IPAddress.Parse("127.0.0.1"), 5555); ThreadPool.QueueUserWorkItem(ThreadProcServer, server); while (true) ; } static void ThreadProcServer(Object stateInfo) { TcpListener server = (TcpListener)stateInfo; server.Start(); while (true) { ThreadPool.QueueUserWorkItem(ThreadProcClient, server.AcceptTcpClient()); } } static void ThreadProcClient(Object stateInfo) { TcpClient client = (TcpClient)stateInfo; try { while (true) { byte[] buffer = new byte[1024]; int l = client.GetStream().Read(buffer, 0, 1024); client.GetStream().Write(buffer, 0, l); Console.WriteLine(Encoding.ASCII.GetString(buffer).Substring(0, l)); } } catch(Exception e) { Console.WriteLine(e.Message); } } } }